/* Repères de carte : lumière dorée = prochaine étape ; sauge = révision ; gris = verrouillé. */
.learning-guide{display:flex;align-items:center;gap:18px;padding:0 0 15px;font-size:10px;color:var(--mist);line-height:1.6;flex-wrap:wrap}
.learning-guide>span{margin-right:auto}.learning-guide>button{background:none;border:0;padding:6px 0;color:var(--brass);font-size:11px;text-decoration:underline;text-underline-offset:5px}.learning-guide>button:last-child{color:var(--mist)}
.light-key{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 6px 1px 14px;background:#78918b}.light-key:first-child{margin-left:0}.light-key.next{background:#f5d99a;box-shadow:0 0 9px #e9c16c}.light-key.review{background:#a4cbbb;box-shadow:0 0 8px #9fc5b577}.light-key.locked{background:#687579}
.world .world-art{filter:grayscale(1) brightness(.58);z-index:0}.world .world-life{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;mask-image:radial-gradient(ellipse 30% 37% at 25% 68%,black 20%,transparent 100%);filter:brightness(1.16) saturate(1.1)}
.world.port-mastered .world-life{filter:brightness(.95) saturate(.8)}.world .fog-layer{z-index:1;pointer-events:none}.world .route-layer{z-index:2;pointer-events:none}.world.overview-mode .adventure-layer{display:none}.world.overview-mode .route-layer{display:block}.route-layer .future-path{stroke:#bac4bd;stroke-width:.17;stroke-dasharray:.4 .65;fill:none;opacity:.5}
.world.overview-mode .location.port{display:flex;left:25%;top:68%;width:185px;padding:8px;background:none;border:0;box-shadow:none;gap:0;z-index:5}.world .port-pin{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;font:22px Georgia,serif;color:#fce8b3;border:1px solid #f4d38b;background:#2b3b31;box-shadow:0 0 0 7px #e0bf6a18,0 0 28px #f5d27895;margin-bottom:10px}.port-aura{position:absolute;left:50%;top:10%;transform:translate(-50%,-50%);width:210px;height:160px;pointer-events:none;background:radial-gradient(ellipse,#ffdb9130,transparent 68%);z-index:-1}.start-beacon{font-size:10px;color:#f7dfaa;margin-bottom:5px;text-shadow:0 1px 4px #000}.world.overview-mode .location.port b{font-size:20px}.world.overview-mode .location.port small{font-size:9px;color:#e3d6b6;line-height:1.6}.portal-action{color:var(--brass);font-size:10px;margin-top:6px}.world .location.port.mastered .port-pin{color:var(--good);border-color:var(--good);box-shadow:0 0 20px #a4cbbb55;background:#203c36}.world .future-region{color:#a6afaf;filter:grayscale(1);opacity:.74}.world .future-region .pin{border-color:#778082;background:#2632389c;color:#bac4c2}.world .future-region:hover{opacity:1}.world .district-gateway{opacity:.95;width:177px}.world .district-gateway .pin{border-color:#a3b9c0;background:#182f39}.district-gateway em{font-size:8px;font-style:normal;color:#c4d2d4;margin-top:7px;line-height:1.5}.legend-dot.review{background:var(--good)}
.training-map,.district-map{padding:26px}.training-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.training-toolbar>span{font-size:10px;color:var(--mist)}.training-toolbar>.secondary{font-size:11px;padding:9px 12px}.training-heading{display:flex;justify-content:space-between;gap:25px;margin-bottom:22px}.training-heading h2{font-size:33px;margin:12px 0 7px}.training-heading p{font-size:12px;margin:0;max-width:580px}.training-heading>strong{font:26px Georgia,serif;color:var(--brass);white-space:nowrap;text-align:right;align-self:center}.training-heading>strong small{display:block;font:10px ui-sans-serif,sans-serif;color:var(--mist);margin-top:10px}.training-layout,.district-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);gap:24px}
.learning-region{position:relative;min-height:530px;overflow:hidden;background:#10252c;isolation:isolate}.region-art,.region-light{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:28% 65%;pointer-events:none}.region-art{filter:grayscale(1) brightness(.38)}.region-light{z-index:1;filter:brightness(1.25) saturate(1.06);mask-image:radial-gradient(ellipse 29% 24% at var(--spot-x) var(--spot-y),black 7%,transparent 100%)}.light-1{--spot-x:24%;--spot-y:64%}.light-2{--spot-x:53%;--spot-y:43%}.light-3{--spot-x:79%;--spot-y:22%}.region-light.mastered{filter:brightness(.93) saturate(.7)}.learning-region:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#081b25b3,transparent 35%);pointer-events:none;z-index:1}.learning-route{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.learning-route .lit-route{fill:none;stroke:currentColor;stroke-width:1.7;stroke-dasharray:3 6;color:#8b999c}.learning-route .lit-route.open{color:#f5d598;filter:drop-shadow(0 0 3px #eed39088)}
.formation-node{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;width:145px;padding:5px 4px;background:none;border:0;color:var(--stone);text-align:center;text-shadow:0 2px 6px #000,0 1px 3px #000}.formation-1{left:24%;top:64%}.formation-2{left:53%;top:43%}.formation-3{left:79%;top:22%}.beacon-portrait{position:relative;display:block;width:46px;height:46px;border-radius:50%;border:1px solid #748483;padding:3px;background:#122b32}.beacon-portrait>img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 6%}.formation-number{position:absolute;right:-7px;top:-5px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;border:1px solid #8c9c96;background:#25373a;font:12px Georgia,serif;color:#dce1d9;text-shadow:none}.formation-node.recommended .beacon-portrait{border-color:#f8d999;box-shadow:0 0 0 6px #f5cf8114,0 0 25px #fbd78f7a}.formation-node.recommended .formation-number{background:#e3c586;border-color:#f6d696;color:#12262b}.formation-node.complete .beacon-portrait{border-color:var(--good);box-shadow:0 0 18px #9cc5b647}.formation-node.complete em{color:#bddfd1}.formation-node.locked{color:#bac3c2}.formation-node.locked .beacon-portrait{filter:grayscale(1) brightness(.7)}.formation-node.locked em{color:#9ba9aa}.formation-node.selected .beacon-portrait:after{content:'';position:absolute;inset:-8px;border:1px solid #f0dfb4;border-radius:50%;opacity:.8}.formation-node b{font:17px Georgia,serif;line-height:1.3}.formation-node small{display:block;font-size:9px;margin-top:4px;color:#c2cecb}.formation-node em{font-size:9px;font-style:normal;color:#f9d899;line-height:1.5}.region-start{position:absolute;z-index:3;left:13%;top:85%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;background:none;padding:4px;width:118px;text-shadow:0 2px 5px #000}.region-start>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #bbbd9d;border-radius:50%;background:#203436;font:14px Georgia,serif;color:var(--brass)}.region-start b{font:14px Georgia,serif}.region-start small{font-size:9px;color:var(--mist)}.region-direction{position:absolute;left:17px;bottom:14px;z-index:3;color:var(--mist);font-size:9px}
.training-detail{min-width:0}.training-detail-title{display:flex;align-items:center;gap:14px}.training-detail-title>img{width:63px;height:86px;object-fit:cover;object-position:50% 10%;border:1px solid #65786f}.training-detail-title h3{font-size:24px;margin:9px 0 7px}.training-detail-title .tag{font-size:9px;white-space:normal;line-height:1.6}.training-detail-title p{font-size:10px;margin:0}.level-explanation{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;margin:18px 0;border-block:1px solid var(--line)}.level-explanation>b{font-size:12px;white-space:nowrap;color:var(--brass)}.level-explanation>span{font-size:10px;color:var(--mist);line-height:1.5}.training-checkpoints{padding:0;list-style:none;display:grid;margin:0}.training-checkpoints li{display:flex;align-items:center;gap:13px;position:relative;padding:9px 0}.training-checkpoints li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid #586f70;border-radius:50%;font-size:11px;color:var(--mist)}.training-checkpoints li:not(:last-child):after{content:'';position:absolute;left:12px;top:36px;height:14px;border-left:1px solid #586f70}.training-checkpoints b{font-size:11px;font-weight:500;line-height:1.5}.training-checkpoints small{font-size:9px;color:var(--mist);display:block;margin-top:4px}.training-checkpoints .current>span{background:var(--brass);border-color:var(--brass);color:var(--night)}.training-checkpoints .current small{color:var(--brass)}.training-checkpoints .done>span{border-color:var(--good);color:var(--good)}.review-explanation{background:none;padding:0;border:0;text-align:left;color:var(--good);font-size:11px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}.training-reward{padding:12px 0;border-top:1px solid var(--line);font-size:11px;margin:15px 0;line-height:1.6;color:var(--brass)}.training-reward b{display:block;font-size:9px;color:var(--mist);margin-bottom:4px}.training-detail .notice{font-size:11px;margin:12px 0;line-height:1.7}.training-walk-link{display:block;width:100%;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--mist);font-size:10px;margin-top:14px;line-height:1.7;padding:5px}.training-footer{font-size:10px;color:var(--mist);line-height:1.7;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.training-return{display:block;background:none;padding:0 0 14px;font-size:10px;color:var(--brass);text-decoration:underline;text-underline-offset:4px}
/* Les trois destinations après la formation, présentées comme des lieux à visiter. */
.district-visit{color:#c0d1d5;font-size:10px;align-self:center;text-align:right;line-height:1.6}.district-plan{position:relative;min-height:540px;overflow:hidden;background:#102a32}.district-plan>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 60%;filter:saturate(.55) brightness(.65)}.district-plan:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent,#10252cb3);pointer-events:none}.district-plan>svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.district-plan>svg path{fill:none;stroke:#a5b7b4;stroke-width:1.6;stroke-dasharray:4 8}.venue-beacon{position:absolute;transform:translate(-50%,-50%);background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;width:150px;padding:5px;text-shadow:0 2px 5px #000}.venue-beacon>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #b2c3c0;color:#d3e4de;background:#142e38c9;font-size:25px}.venue-beacon.selected>span{border-color:#d9ddc1;box-shadow:0 0 0 5px #d9ddc118,0 0 32px #c7ded96b}.venue-beacon b{font:18px Georgia,serif}.venue-beacon small{font-size:8px;color:#b8c8c8;line-height:1.6;text-align:center}.venue-beacon.market{left:25%;top:66%}.venue-beacon.agents{left:53%;top:43%}.venue-beacon.community{left:79%;top:23%}.district-map-note{position:absolute;bottom:20px;left:20px;right:20px;z-index:2;font-size:10px;color:#bbcccb;margin:0}.venue-detail{min-width:0}.venue-detail>.tag{font-size:9px;white-space:normal;line-height:1.6}.venue-detail h3{font-size:31px;margin:16px 0}.venue-detail h4{font-weight:500;font-size:12px;margin:22px 0 14px;color:var(--brass)}.venue-detail p{font-size:12px;line-height:1.8}.venue-gates{list-style:none;padding:0;margin:0}.venue-gates li{position:relative;padding:13px 0 13px 24px;border-top:1px solid var(--line);font-size:11px;line-height:1.7}.venue-gates li>span{position:absolute;left:0;top:13px;color:#9fb0b2}.venue-gates small{display:block;font-size:10px;color:var(--mist);margin-top:5px}.venue-detail .venue-state{font-size:10px;border-left:2px solid #7e9696;padding-left:14px;margin:22px 0;color:#b7c8c7}.agent-workflow{list-style:none;counter-reset:workflow;padding:0;margin:24px 0}.agent-workflow li{counter-increment:workflow;position:relative;padding:8px 0 12px 28px;font-size:12px;color:#e6d3a4}.agent-workflow li:before{content:counter(workflow);position:absolute;left:0;top:8px;color:var(--mist)}.agent-workflow small{display:block;color:var(--mist);font-size:10px;line-height:1.7;margin-top:5px}.community-identity{display:flex;gap:14px;align-items:center;margin:25px 0}.community-identity>span{width:40px;height:40px;border-radius:50%;border:1px solid var(--good);display:grid;place-items:center;font:21px Georgia,serif;color:var(--good)}.community-identity b{font-size:14px;font-weight:500}.community-identity small{display:block;color:var(--mist);font-size:10px;margin-top:6px}.community-ideas{font-size:11px;line-height:2.2;color:#bfcecc;padding-left:15px}.venue-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1050px){.training-layout,.district-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.formation-node{width:125px}.formation-node b{font-size:16px}}
@media(max-width:700px){.learning-guide{gap:8px 18px;padding-bottom:12px;font-size:9px}.learning-guide>span{width:100%;font-size:9px}.light-key{margin-left:9px}.learning-guide>button{font-size:10px}.training-map,.district-map{padding:19px 16px}.training-toolbar{gap:10px;margin-bottom:20px}.training-toolbar>span{display:none}.training-heading{gap:12px}.training-heading h2{font-size:27px}.training-heading .tag{font-size:8px;white-space:normal}.training-heading p{font-size:11px}.training-heading>strong{font-size:21px;align-self:start;margin-top:3px}.training-heading>strong small{font-size:8px;max-width:75px;line-height:1.6;white-space:normal}.training-layout,.district-layout{grid-template-columns:1fr;gap:25px}.learning-region{min-height:430px}.formation-node{width:105px;gap:5px}.formation-node b{font-size:15px}.formation-node small,.formation-node em{font-size:8px}.beacon-portrait{width:40px;height:40px}.formation-1{left:23%;top:63%}.formation-2{left:51%;top:42%}.formation-3{left:80%;top:20%}.formation-number{width:17px;height:17px;font-size:11px}.region-start{left:16%;top:85%;width:95px}.region-start small{font-size:8px}.region-direction{font-size:8px;bottom:11px;left:12px}.training-detail-title h3{font-size:25px}.world.overview-mode .location.port{left:25%;top:69%;width:157px}.world.overview-mode .location.port b{font-size:17px}.world.overview-mode .location.port small{font-size:8px}.world .port-pin{width:36px;height:36px;font-size:19px}.world .district-gateway{left:81%;top:40%;width:125px}.world .district-gateway b{font-size:15px}.world .district-gateway small,.district-gateway em{font-size:7px}.world.overview-mode .bridge{left:44%;top:46%}.district-plan{min-height:430px}.venue-beacon{width:110px;gap:6px}.venue-beacon>span{width:39px;height:39px;font-size:21px}.venue-beacon b{font-size:16px}.venue-beacon small{font-size:7px}.district-visit{font-size:8px;max-width:70px}.venue-detail h3{font-size:28px}.district-map-note{font-size:9px}.map-bottom>span{font-size:8px}.map-bottom .legend-dot{margin-left:6px}.venue-actions{gap:10px}}
.world.overview-mode .bridge{left:43%;top:46%}.world .location.port b,.world .location.port small{background:none}
@media(max-width:700px){.formation-node{width:96px}.formation-1{left:22%}.formation-2{left:52%}.formation-3{left:82%;top:16%}}
.world .exam{left:71%;top:24%;width:146px}.world .exam b{font-size:14px}.world .exam small{font-size:8px}
@media(max-width:700px){.world .exam{left:73%;top:23%;width:122px}.world .exam b{font-size:13px}.world .exam small{font-size:7px}}
