:root{font-family:"Segoe UI",sans-serif;color:#293f32;background:#f6f3e9;font-synthesis:none;--pine:#294c3b;--muted:#66715f;--line:#dcded0;--paper:#fffcf4;--gold:#94743d}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a67530;outline-offset:4px}a{color:var(--pine)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:40px;line-height:1.15;letter-spacing:-1.3px;margin-bottom:10px}h2{font-size:26px;letter-spacing:-.5px}h3{font-size:16px;font-weight:650}p{line-height:1.65}small{font-size:12px}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.skip-link{position:absolute;top:-80px;background:white;padding:12px;z-index:30}.skip-link:focus{top:0}.shell{max-width:1340px;margin:auto;padding:0 38px}
.topbar{border-bottom:1px solid var(--line);background:var(--paper)}.topbar .shell{height:88px;display:flex;align-items:center;gap:54px}.brand{display:flex;align-items:center;gap:10px;font:19px/1.1 Georgia,serif;letter-spacing:-.5px;white-space:nowrap}.brand .icon{width:38px;height:38px}.brand b{font-weight:400}.nav{display:flex;align-self:stretch;gap:8px}.nav button{display:flex;align-items:center;gap:8px;padding:0 18px;border-bottom:3px solid transparent;background:none;color:var(--muted);font-size:14px}.nav button[aria-current="page"]{color:var(--pine);border-color:var(--pine);font-weight:650}.profile{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#dfdfc8;font-family:Georgia,serif;font-size:17px;border:2px solid var(--paper)}.profile label{font-size:10px;text-transform:uppercase;letter-spacing:1px;display:block;color:var(--muted);margin-bottom:3px}.profile select{border:0;background:transparent;font-weight:600;color:var(--pine);max-width:150px;min-height:26px}
.page-heading{padding:32px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:6px}.subtitle{margin:0;color:var(--muted);font-size:14px}.chapter{font-size:12px;color:var(--muted);text-align:right;line-height:1.8}.chapter strong{display:block;font:18px Georgia,serif;color:var(--pine)}.resources{display:flex;align-items:center;gap:30px;border-block:1px solid var(--line);padding:15px 0;margin-bottom:24px}.resources-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-right:12px}.resource{display:flex;align-items:center;gap:9px;font-size:13px}.resource .icon{color:#8c7649}.resource b{font-size:17px;font-weight:650}.resource .capacity{font-size:11px;color:var(--muted)}.resource.locked{opacity:.6}.saved{font-size:11px;color:var(--muted);margin-left:auto;display:flex;align-items:center;gap:5px}.saved .icon{width:14px}
.village-layout,.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.landscape{border:1px solid #c5ccae;border-radius:12px;overflow:hidden;background:#c5cca1;position:relative}.village-art{width:100%;height:auto;display:block}.scene-caption{position:absolute;left:21px;top:19px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#425744;display:flex;align-items:center;gap:7px}.scene-caption .icon{width:16px}.landmark{position:absolute;padding:8px 13px;border:1px solid #aeb28d;border-radius:6px;background:#fffcf0ed;box-shadow:0 3px 8px #43553b15;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transform:translateX(-50%);white-space:nowrap;min-height:36px}.landmark:hover{background:white;box-shadow:0 4px 12px #43553b33}.landmark.active{border:2px solid var(--pine)}.landmark.warehouse{left:31%;top:72%}.landmark.oracle{left:71%;top:55%}.landmark .icon{width:14px;height:14px}.scene-foot{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;font-size:12px;color:var(--muted);gap:10px}.companions{display:flex;align-items:center}.companions .avatar{width:26px;height:26px;font-size:11px;margin-right:-5px}.companions span:last-child{margin-left:15px}
.action-panel{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:12px}.action-panel h2{font-size:24px;margin-bottom:10px}.action-panel .description{font-size:13px;color:var(--muted);margin-bottom:18px}.segmented{display:flex;border:1px solid var(--line);border-radius:7px;padding:3px;background:#eeeee3;gap:3px}.segmented button{flex:1;border-radius:5px;background:transparent;padding:10px 8px;font-size:13px;white-space:nowrap;min-height:42px}.segmented button[aria-pressed="true"]{background:var(--pine);color:#fffaf0}.segmented .icon{width:17px;margin-right:5px}.field{margin-top:18px}.field label{font-size:12px;font-weight:650;display:block;margin-bottom:8px}.number-field{display:flex;align-items:center;border:1px solid #c3c9b5;border-radius:6px;background:white;padding-right:13px}.number-field input{width:100%;min-width:0;border:0;background:transparent;padding:12px;font-size:23px;color:var(--pine);font-weight:500;border-radius:6px}.number-field span{font-size:12px;color:var(--muted)}.quick-values{display:flex;gap:6px;margin:9px 0 13px}.quick-values button{border:1px solid var(--line);border-radius:5px;background:transparent;padding:7px;flex:1;font-size:11px;min-height:34px}.quick-values button:hover{background:#ededdc}.conversion{display:flex;align-items:center;justify-content:space-between;margin:14px 0;font-size:12px;color:var(--muted)}.conversion strong{color:var(--pine);font-size:17px}.primary,.secondary,.small-button{border-radius:6px;padding:11px 15px;min-height:44px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:var(--pine);color:#fffdf4}.primary:hover:not(:disabled){background:#37654c}.secondary{background:transparent;border:1px solid #bec6b1}.secondary:hover:not(:disabled){background:#edeee1}.wide{width:100%}.fine-print{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 0}.pa-display{font:38px Georgia,serif;margin:12px 0;color:var(--pine)}.pa-display small{font:13px "Segoe UI",sans-serif;color:var(--muted)}.day-status{font-size:12px;padding:10px 12px;border-radius:5px;background:#edf0e2;line-height:1.7;margin-bottom:16px}.hint{padding:17px 0 0;border-top:1px solid var(--line);margin-top:18px}.hint-title{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:650;margin-bottom:6px}.hint p{font-size:12px;color:var(--muted);margin:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 14px}.section-heading h2{margin:0}.section-heading span{font-size:12px;color:var(--muted)}.building-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.building-tabs button{background:none;border-bottom:2px solid transparent;padding:13px 0;white-space:nowrap;font-size:13px;color:var(--muted)}.building-tabs button[aria-pressed="true"]{color:var(--pine);font-weight:650;border-color:var(--pine)}.building-desc{font-size:13px;color:var(--muted);max-width:750px;margin-bottom:18px}.stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stage{background:#fcfaf1;border:1px solid var(--line);border-radius:8px;padding:20px}.stage.complete{background:#eef0e1}.stage-top{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:14px}.stage h3{margin:0 0 6px}.tag{font-size:10px;display:inline-flex;align-items:center;gap:4px;color:var(--muted);padding:4px 7px;border:1px solid #d9decc;border-radius:4px;line-height:1.5}.tag .icon{width:12px;height:12px}.stage-number{font:24px Georgia,serif;color:#a6ad94}.material-line{display:flex;align-items:center;gap:7px;font-size:12px;padding:5px 0}.material-line .icon{width:17px;height:17px;color:#8e7647}.material-line strong{margin-left:auto;font-weight:600}.small-button{font-size:11px;min-height:32px;padding:5px 8px;background:#ebecde;border:1px solid #d9ddcb;margin-left:4px}.progress-label{display:flex;justify-content:space-between;font-size:11px;margin:17px 0 8px;color:var(--muted)}progress{width:100%;height:5px;display:block;appearance:none;border:0;background:#e2e5d6;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#e2e5d6}progress::-webkit-progress-value{background:#66845a}progress::-moz-progress-bar{background:#66845a}.work-controls{display:flex;gap:8px;margin-top:16px}.work-controls select{max-width:90px;border:1px solid #c2c8b4;border-radius:5px;background:var(--paper);padding:8px;font-size:12px;color:var(--pine)}.work-controls button{flex:1}.blocked-note{font-size:11px;color:var(--muted);margin:12px 0 0;min-height:32px;line-height:1.6}
.activity-preview{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.activity-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.activity-item .avatar{flex-shrink:0;background:#e6e4ce}.activity-item h3{font-size:13px;margin:0 0 5px}.activity-item p{font-size:12px;color:var(--muted);margin:0}.activity-item time{font-size:10px;color:var(--muted);display:block;margin-bottom:5px}.link-button{padding:8px 0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px}.mystery-note{margin-top:20px;background:#ecebd9;border:1px solid #dbdbc4;padding:20px;border-radius:8px}.mystery-note h3{font:20px Georgia,serif;margin-bottom:10px}.mystery-note p{font-size:12px;color:#62694f;margin:0}.demo-bar{margin:32px 0 18px;border-block:1px dashed #c6ccb8;color:var(--muted);font-size:12px;padding:15px 0}.demo-bar summary{font-size:12px;min-height:26px}.demo-controls{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.demo-bar p{margin:8px 0;max-width:850px}.demo-controls button{font-size:12px}.footer{font-size:11px;color:var(--muted);padding:0 0 22px;display:flex;justify-content:space-between;gap:15px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#294c3b;color:#fffaf0;padding:16px 24px;box-shadow:0 5px 25px #20342630;max-width:calc(100% - 32px);width:max-content;border-radius:8px;font-size:13px;line-height:1.6;z-index:50}.toast.error{background:#803f32}.toast[hidden]{display:none}dialog{max-width:460px;width:calc(100% - 36px);border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:28px;color:var(--pine)}dialog::backdrop{background:#1e382e88}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}dialog p{font-size:14px;color:var(--muted)}.loading{padding:60px;max-width:800px;margin:auto}
.map-frame{position:relative;border:1px solid #c3ccb7;border-radius:12px;padding:18px;background:#e0e5d2}.map-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;font-size:12px}.map-toolbar strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.map-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;max-width:610px;margin:auto;aspect-ratio:1}.cell{position:relative;border:1px solid #bec8ac;border-radius:4px;display:flex;justify-content:center;align-items:center;background:#c7d3ac;color:#536c4c;min-width:0;padding:0}.cell .icon{width:30px;height:30px;pointer-events:none}.cell.fog{background:#b1bdaa;border-color:#aab7a2;color:#6d806b;font:16px Georgia,serif}.cell.forest{background:#aabe98}.cell.quarry{background:#d0d0bb}.cell.village{background:#f4e8bd;color:#5e6945}.cell.tree{background:#bec5a0}.cell.path{background:#dfc68f;border:2px solid #937441;color:#5f553b}.cell.unfunded{background:#c5bdab;border:2px dashed #8b8170}.cell.current{box-shadow:inset 0 0 0 2px #355844}.cell.hinted{outline:2px solid #a98032;outline-offset:-4px}.step-count{position:absolute;right:3px;bottom:1px;font-size:10px;line-height:15px;background:#fff8dc;border-radius:50%;min-width:15px;color:#5c5638;pointer-events:none}.map-directions{display:flex;justify-content:center;gap:5px;margin-top:12px}.map-directions button{min-width:40px;min-height:36px;border:1px solid #bdc8ae;border-radius:5px;background:#f4f3e5;font-size:13px}.map-legend{font-size:11px;display:flex;flex-wrap:wrap;gap:15px;color:var(--muted);margin-top:13px;line-height:1.6}.map-legend span{display:flex;align-items:center;gap:5px}.dot{width:10px;height:10px;background:#b1bdaa;border-radius:2px;display:inline-block}.dot.known{background:#c7d3ac;border:1px solid #95ab7f}.dot.route{background:#dfc68f;border:1px solid #937441}.route-summary{font-size:12px;padding:14px 0;line-height:1.8}.route-summary strong{font-size:23px;font-family:Georgia,serif;font-weight:400}.route-buttons{display:flex;gap:8px;margin-top:12px}.route-buttons button{flex:1;font-size:11px}.warning{background:#f5ebd3;color:#775b2e;padding:11px;border-radius:5px;font-size:12px;line-height:1.6;margin:10px 0}.accept{display:flex;align-items:start;gap:8px;font-size:12px;line-height:1.6;margin:14px 0}.accept input{width:18px;height:18px;flex-shrink:0;accent-color:var(--pine)}.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:45px}.journal-layout .activity-item{padding:22px 0}.journal-layout .activity-item h3{font-size:16px}.journal-layout .activity-item p{font-size:14px}.journal-layout .activity-item time{font-size:11px}.journal-layout .mystery-note{margin-top:0;padding:25px}.empty{border:1px dashed #bbc4ad;padding:25px;border-radius:8px;color:var(--muted);font-size:14px}.result-box{border-left:3px solid #7f9466;padding:4px 0 4px 13px;margin:15px 0;font-size:13px;line-height:1.7}.result-box strong{display:block}.error-screen{padding:30px;border:1px solid #ba8b76;border-radius:8px}.error-screen p{font-size:14px}.muted{color:var(--muted)}
@media(min-width:1200px){.stages.single{grid-template-columns:1fr}.stages.single .stage{max-width:650px}.stages.single .material-line{max-width:400px}}
@media(max-width:1100px){.shell{padding:0 26px}.topbar .shell{gap:25px}.nav button{padding:0 12px}.village-layout,.map-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.action-panel{padding:20px}.resources{gap:20px}.resources-label{display:none}.scene-caption{font-size:9px;left:14px;top:14px}.landmark{font-size:10px;padding:6px 9px}.stages{grid-template-columns:1fr}.journal-layout{gap:25px;grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:760px){.shell{padding:0 18px}.topbar .shell{height:auto;min-height:80px;flex-wrap:wrap;gap:0;justify-content:space-between}.brand{font-size:17px;padding:18px 0}.brand .icon{width:31px;height:31px}.profile{margin-left:15px}.profile .avatar{display:none}.profile select{max-width:120px;font-size:13px}.nav{order:3;width:100%;height:51px;justify-content:space-between}.nav button{padding:0 12px;justify-content:center;font-size:13px;flex:1}.nav .icon{width:17px}.page-heading{padding:25px 0 20px}.chapter{display:none}h1{font-size:34px}.subtitle{font-size:12px}.resources{gap:12px;display:grid;grid-template-columns:repeat(4,1fr);padding:12px 0;margin-bottom:20px}.resource{gap:4px;flex-wrap:wrap;justify-content:center;font-size:10px}.resource .icon{width:17px;height:17px}.resource b{font-size:15px}.resource .resource-name{width:100%;text-align:center;order:3}.resource .capacity{font-size:10px}.saved{display:none}.village-layout,.map-layout,.journal-layout{grid-template-columns:1fr;gap:18px}.village-layout>.sidebar{grid-row:2}.scene-foot{font-size:10px}.landmark{font-size:10px;padding:5px 7px;min-height:33px}.landmark .icon{width:12px}.scene-caption{font-size:8px;left:10px;top:10px}.village-art{min-height:220px;object-fit:cover}.action-panel{padding:21px}.field{margin-top:14px}.action-panel h2{font-size:25px}.quick-values button{min-height:40px}.section-heading{margin-top:20px}.section-heading h2{font-size:24px}.section-heading span{font-size:10px}.building-tabs{gap:20px}.stage{padding:18px}.stage .small-button{min-height:38px}.activity-preview{margin-top:22px}.footer{display:block;font-size:10px;line-height:1.8}.footer span{display:block}.map-frame{padding:12px}.map-grid{gap:3px}.cell{border-radius:3px;min-height:32px}.cell .icon{width:23px;height:23px}.map-toolbar strong{font-size:17px}.map-directions button{min-height:40px}.map-layout .sidebar{grid-row:2}.journal-layout .mystery-note{order:-1}.dialog-actions>*{flex:1}.toast{bottom:14px;padding:13px 17px;font-size:12px}.loading{padding:30px}.demo-controls button{min-height:44px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,box-shadow .15s}.toast{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;bottom:10px}to{opacity:1}}}
@media(max-width:760px){.village-main,.village-layout>.sidebar{display:contents}.village-layout>.village-main>.landscape{grid-row:1}.village-layout .scene-foot{grid-row:2;padding:0 0 4px}.village-layout .action-panel{grid-row:3}.village-layout .desktop-construction{grid-row:4}.village-layout .activity-preview{grid-row:5}}
.journal-layout{align-items:start}
.toast{pointer-events:none}

/* Retours du premier essai : test visible, états quotidiens partagés, niveaux regroupés. */
.test-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 17px;margin-top:20px;border:1px dashed #bfc8ad;border-radius:8px;background:#edf0df;font-size:12px}.test-toolbar>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.test-toolbar strong{color:#526641;text-transform:uppercase;font-size:10px;letter-spacing:1.2px}.test-toolbar span{color:#5f6d55}.test-toolbar button{min-height:38px;background:#fffcf4}.day-status{display:flex;align-items:flex-start;gap:12px;padding:17px 15px;border:1px solid #cbd6bb;border-radius:8px}.day-status .status-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#d9e3cc;color:#395c3d}.day-status>div{display:flex;flex-direction:column;gap:4px}.day-status strong{font-size:16px;line-height:1.35}.day-status span{font-size:11px}.day-status .status-branch{text-transform:uppercase;letter-spacing:1px;font-size:9px;color:#637358}.day-status.is-complete{background:#edf2e5}.day-status.is-active{background:#f3f1e5;border-color:#d9d7b9}.day-reset{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.update-steps{border:1px solid var(--line);padding:12px;border-radius:7px}.update-steps summary{font-size:12px;font-weight:650;padding:5px 0}.building-tabs{flex-wrap:wrap;gap:8px;border:0;overflow:visible}.building-tabs button{border:1px solid var(--line);border-radius:6px;background:#fffcf4;padding:11px 13px;min-height:43px}.building-tabs button[aria-pressed="true"]{background:var(--pine);color:#fffdf4;border-color:var(--pine)}.building-level{margin:22px 0}.level-title{font:22px Georgia,serif;margin-bottom:15px}.level-preview,.completed-level{border:1px solid var(--line);border-radius:8px;padding:17px;margin:20px 0;background:#eeefe3}.level-preview h3{margin-bottom:8px}.level-preview p{font-size:12px;color:var(--muted);margin-bottom:0}.completed-level summary{font-size:13px;font-weight:600}.completed-level .stages{margin-top:18px}.workshop{border:1px solid #bfccb0;border-radius:8px;padding:20px;background:#edf2e3;margin:20px 0}.workshop p{font-size:13px}.workshop .work-controls{max-width:430px}.workshop .work-controls select{max-width:140px}.resources{flex-wrap:wrap;gap:14px 22px}.resources-label{display:none}.resource{gap:7px}.resource .resource-name{font-size:12px}
@media(max-width:760px){.test-toolbar{margin-top:14px;padding:11px;gap:8px;align-items:stretch}.test-toolbar>div{display:block;flex:1}.test-toolbar strong{display:block;margin-bottom:5px}.test-toolbar span{font-size:10px;display:block;line-height:1.6;max-width:180px}.test-toolbar button{padding:8px 10px;white-space:nowrap;font-size:12px}.test-toolbar button .icon{width:15px}.resources{gap:13px 8px}.resource .resource-name{font-size:10px}.building-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.building-tabs button{white-space:normal;text-align:left;font-size:12px;padding:11px}.day-status strong{font-size:16px}.completed-level summary{font-size:12px}.stages{gap:13px}}/* Les corrections du tracé restent sous les cases, à portée du doigt. */
.map-route-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:610px;margin:12px auto 0;padding:8px;background:#f5f5e9;border:1px solid #bec8ae;border-radius:7px;font-size:12px}
.map-route-tools>span{white-space:nowrap;font-weight:650;color:var(--pine)}
.map-route-tools .route-buttons{margin:0;display:flex;gap:7px}
.map-route-tools .route-buttons button{min-height:40px;padding:7px 10px;font-size:12px;white-space:nowrap}
@media(max-width:760px){.map-route-tools{padding:7px;gap:6px;font-size:11px}.map-route-tools .route-buttons{gap:5px}.map-route-tools .route-buttons button{padding:6px 7px;font-size:11px}}
.map-route-tools{margin:0 auto 12px}
.cell .site-trend{position:absolute;right:3px;top:1px;color:#66532c;background:#fff4d7;border-radius:3px;font:12px/1.1 Georgia,serif;padding:1px 2px;pointer-events:none}
.map-mode{max-width:610px;margin:0 auto 8px}.map-mode .segmented{max-width:360px;margin:0 auto}
.map-guidance{max-width:610px;margin:0 auto 9px;padding:10px 12px;background:#f4f1df;border:1px solid #d5d4b7;border-radius:6px;font-size:12px;line-height:1.55;color:#475c42}
.map-guidance .link-button{display:inline;padding:0 2px;font-size:12px;font-weight:650}
.map-inspection{max-width:610px;margin:0 auto 9px;padding:9px 12px;border:1px solid #b9c6aa;border-radius:6px;background:#fbfaef;color:#40573f;font-size:12px;line-height:1.5}.map-inspection span{display:block;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#7c7353}.map-inspection strong{font-family:Georgia,serif;font-size:16px;color:var(--pine)}.map-inspection p{margin:3px 0 0}.cell.inspected{box-shadow:inset 0 0 0 3px #a67530;border-color:#8d672a}
.cell.mine{background:#aaa793;color:#464b45}.cell.mine .icon{color:#505c4f}
.cell.camp{background:#d7b983;color:#594932}.cell.camp .icon{width:27px;height:27px}
.map-base{max-width:610px;margin:0 auto 8px;padding:7px 10px;background:#e8d8ad;border-radius:5px;font-size:12px;font-weight:650;color:#554b34}
.map-mode .segmented{max-width:430px}

.camp-projects{grid-column:1/-1}.camp-project{margin-top:24px;padding:22px;border:1px solid #bec8ae;border-radius:10px;background:#f6f3e5}.camp-project>p{font-size:13px;line-height:1.6}
.chapter-guide{padding:18px 22px;margin-bottom:18px;background:#f5f0dc;border:1px solid #c6cbb0;border-radius:10px}.chapter-guide h2{margin:6px 0}.chapter-guide p{font-size:13px;line-height:1.5}.raid-warning{padding:14px;background:#f4dfb5;border-left:4px solid #997139;margin-top:12px}.cache-panel{margin-top:16px;padding-top:12px;border-top:1px solid #c6cbb0}.cache-panel summary{cursor:pointer;font-weight:650}.protection-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.protection-fields label{font-size:12px}.protection-fields span{display:block;color:#62694f}.protection-fields input{display:block;width:100%;min-height:40px;border:1px solid #adb79f;background:#fffcf0;border-radius:4px;padding:6px;color:#294c3b}.map-zoom{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0;font-size:12px}.map-grid.map-size-13{grid-template-columns:repeat(13,minmax(0,1fr))}.map-grid.map-size-17{grid-template-columns:repeat(17,minmax(0,1fr))}.map-size-13 .cell,.map-size-17 .cell{min-width:0;min-height:0;padding:0}.map-size-13 .cell .icon,.map-size-17 .cell .icon{width:70%;height:70%}.chapter-end{padding:12px;background:#e3ebd6}@media(max-width:600px){.protection-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-guide{padding:15px}.map-zoom{gap:6px}.map-zoom button{font-size:11px;padding:8px}.map-size-17 .step-count{font-size:8px}.map-size-17 .cell .site-trend{display:none}}
/* Seven village landmarks share the illustrated scene and show actual levels. */
.landscape .landmark{width:28%;max-width:205px;min-height:46px;padding:7px 5px;display:flex;flex-direction:column;gap:3px;white-space:normal;text-align:center;line-height:1.15}
.landscape .landmark strong{font-size:12px}.landscape .landmark span{font-size:10px;font-weight:400}.landscape .landmark.is-planned{border-style:dashed;background:#f8f2dbeF}
.village-warehouse{left:18%;top:40%}.village-oracle{left:50%;top:40%}.village-pantry{left:82%;top:40%}.village-forge{left:18%;top:69%}.village-sawmill{left:50%;top:69%}.village-inn{left:82%;top:69%}.village-wall{left:50%;top:88%}
@media(max-width:760px){.landscape .village-art{min-height:0;object-fit:contain}.landscape .landmark{min-height:42px;padding:5px 2px}.landscape .landmark strong{font-size:10px}.landscape .landmark span{font-size:9px}.landscape .scene-caption{font-size:8px;letter-spacing:.7px;top:10px}}

/* Le guide reste près du village aussi lorsque les colonnes deviennent une liste. */
@media(max-width:760px){.village-layout .chapter-guide{grid-row:3;margin-bottom:0}.village-layout .action-panel{grid-row:4}.village-layout .desktop-construction{grid-row:5}.village-layout .activity-preview{grid-row:6}}

/* Monde à découvrir : curiosités et repos des sites, sans confusion avec les récoltes. */
.cell.well,.cell.arch,.cell.obelisk,.cell.runes{background:#ded4bc;color:#685171;border-color:#aa98a6}
.cell.depleted{background:#d5d2c6;color:#8b897d;border-style:dashed}
.cell.depleted .icon{opacity:.5}
.mystery-legend{display:flex;align-items:center;gap:5px}.mystery-legend .icon{width:17px;height:17px;color:#685171}
.test-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.test-toolbar{flex-wrap:wrap}.test-toolbar>.test-actions{display:flex;flex-basis:100%;max-width:none}.test-actions button{flex:1}.map-legend{flex-wrap:wrap}}

/* Les rangées vides gardent la même hauteur que celles contenant des icônes. */
.map-grid{grid-template-rows:repeat(9,minmax(0,1fr))}
.map-grid.map-size-13{grid-template-rows:repeat(13,minmax(0,1fr))}
.map-grid.map-size-17{grid-template-rows:repeat(17,minmax(0,1fr))}

/* La déclaration et le bilan personnel occupent leur propre page. */
.activity-layout{max-width:620px;margin:0 auto 40px}
#login-form input[type=password]{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fffdf6}
#login-form .field{margin-bottom:18px}
.activity-layout .action-panel{padding:32px}
.activity-layout .update-steps{margin-top:16px}
@media(max-width:760px){
 .nav{gap:0}
 .nav button{min-width:0;padding:0 4px;gap:4px;font-size:11px}
 .nav button .icon{width:15px;height:15px}
 .activity-layout .action-panel{padding:21px}
 .village-layout .desktop-construction{grid-row:4}
 .village-layout .activity-preview{grid-row:5}
}

