/* Schémas lisibles et interfaces reconstituées dans l'univers Flibustier. */
:is(.ff-reader,.adventure-visuals) .learning-visual{margin:28px 0 34px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--card-bg);color:var(--dark);break-inside:avoid;isolation:isolate;overflow-wrap:anywhere}
.learning-visual>figcaption{padding:20px 22px;background:linear-gradient(120deg,#143e4d,#102c3b);color:#edf7f4}
.learning-visual .lv-eyebrow{display:block;color:#b0d9d2;font:650 .66rem/1.5 Inter,system-ui,sans-serif;letter-spacing:.065em;text-transform:uppercase;margin:0 0 6px}
:is(html[data-skin] .ff-reader,.adventure-visuals) .learning-visual h3{color:inherit;font:750 1.08rem/1.35 Inter,system-ui,sans-serif;margin:0;letter-spacing:-.025em}
.learning-visual :is(p,ul,ol){margin:0}
.learning-visual .lv-scene{background:#103747}.learning-visual .lv-scene img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain}
.learning-visual .lv-example-image img{display:block;width:100%;height:auto}.learning-visual .lv-example-image>small{display:block;padding:7px 12px;background:#edf3f1;color:#46605a;font:400 .62rem/1.4 Arial,sans-serif}.learning-visual .lv-browser-page .lv-example-image{margin-top:16px}
.learning-visual .lv-facebook-actions{display:flex;justify-content:space-around;gap:8px;padding:12px 10px;border-top:1px solid #e4e9ed;color:#56616d}.learning-visual .lv-facebook-actions>span{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600}.learning-visual .lv-facebook-actions svg{width:17px;height:17px}
.learning-visual .lv-map,.learning-visual .lv-route{list-style:none;padding:22px;display:grid;gap:12px}
.learning-visual .lv-map{grid-template-columns:repeat(2,minmax(0,1fr));background:radial-gradient(circle at 50% 0%,var(--primary-bg),transparent 70%)}
.learning-visual .lv-map>li:last-child:nth-child(odd){grid-column:1/-1}
.learning-visual .lv-node{position:relative;display:flex;align-items:flex-start;gap:11px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);list-style:none}
.learning-visual .lv-node__mark{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #739fa1;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:.68rem;font-weight:750}
.learning-visual .lv-node strong{display:block;color:var(--dark);font-size:.87rem;line-height:1.45}
:is(html[data-skin] .ff-reader,.adventure-visuals) .learning-visual .lv-node p{font-size:.81rem;color:var(--dark-soft);line-height:1.6;margin:5px 0 0}
.learning-visual .lv-route{gap:18px;background:var(--primary-bg)}
.learning-visual .lv-route .lv-node:not(:last-child)::after{content:'↓';position:absolute;left:29px;bottom:-20px;color:var(--primary);height:19px;line-height:19px;font-size:16px;z-index:1}
.learning-visual .lv-social{margin:22px;border:1px solid #d7e0e4;border-radius:13px;background:#fff;color:#20252c;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.learning-visual .lv-social-brand{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid #e4e9ed;background:#f5f7f9;color:#203340}
.learning-visual .lv-social-brand>strong{font-size:1.2rem;letter-spacing:-.04em}.learning-visual .lv-social-brand>span{font-size:.56rem;letter-spacing:.08em;border:1px solid #b9c9ce;border-radius:5px;padding:4px 6px;color:#445d68}
.learning-visual .lv-social--facebook .lv-social-brand>strong{color:#0866ff;font-size:1.35rem}
.learning-visual .lv-social--instagram .lv-social-brand>strong{font-family:Georgia,serif;font-style:italic;font-size:1.25rem;color:#181b20}
.learning-visual .lv-profile{display:flex;align-items:center;gap:10px;padding:15px 16px 8px}.learning-visual .lv-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#dbe9e8;color:#24585c;font-size:14px;font-weight:700}
.learning-visual .lv-profile strong{display:block;font-size:.81rem;line-height:1.3}.learning-visual .lv-profile small{display:block;font-size:.63rem;color:#626d78;line-height:1.4;margin-top:3px}.learning-visual .lv-more{margin-left:auto;font-size:1.3rem;letter-spacing:2px}
:is(html[data-skin] .ff-reader,.adventure-visuals) .learning-visual .lv-post-text{padding:10px 16px 18px;font:400 .92rem/1.55 Arial,Helvetica,sans-serif;color:#20252c;margin:0;white-space:pre-line}
.learning-visual .lv-social-actions{display:flex;align-items:center;gap:17px;padding:13px 16px 8px;border-top:1px solid #e9edf0;color:#303841}.learning-visual .lv-social-actions>span{flex:1}
.learning-visual .lv-social-stats{padding:2px 16px 14px;font-size:.67rem;color:#5e6973;line-height:1.5}.learning-visual .lv-social-stats>span{display:block;font-size:.58rem;margin-top:3px}
.learning-visual .lv-insta-card{display:grid;align-content:center;gap:14px;min-height:240px;aspect-ratio:1.3;padding:28px;background:linear-gradient(145deg,#f1ebe2,#e0eeea);text-align:center;color:#213c43}
.learning-visual .lv-insta-card>span{font-size:.57rem;letter-spacing:.12em}.learning-visual .lv-insta-card p{font:650 1.14rem/1.5 Georgia,serif;color:inherit}
.learning-visual .lv-social--tiktok{max-width:340px;margin-inline:auto;border-color:#344956;background:#102735}
.learning-visual .lv-social--tiktok .lv-social-brand{background:#111820;color:#fff;border-color:#3b4c58}.learning-visual .lv-social--tiktok .lv-social-brand>span{color:#ccdfe8;border-color:#62777f}
.learning-visual .lv-video-poster{position:relative;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 46px 18px 18px;background:radial-gradient(ellipse at 80% 60%,#246f79,transparent 60%),linear-gradient(150deg,#193344,#122232);color:#fff}
.learning-visual .lv-video-tabs{display:flex;gap:14px;justify-content:center;font-size:.68rem;color:#bccbd4;white-space:nowrap}.learning-visual .lv-video-tabs b{color:#fff;border-bottom:2px solid #fff;padding-bottom:6px}
.learning-visual .lv-video-quote{margin:25px 0;display:grid;gap:12px}.learning-visual .lv-video-quote>span{font-size:.57rem;letter-spacing:.1em;color:#b7d7db}.learning-visual .lv-video-quote>p{font-size:1.2rem;font-weight:750;line-height:1.55;color:#fff}
.learning-visual .lv-video-reactions{position:absolute;right:14px;bottom:104px;display:grid;gap:6px;justify-items:center}.learning-visual .lv-video-reactions small{font-size:.62rem;margin-bottom:8px}
.learning-visual .lv-video-account strong{display:block;font-size:.71rem;color:#fff;overflow-wrap:anywhere}.learning-visual .lv-video-account>span{display:block;font-size:.6rem;line-height:1.5;color:#c1d8df;margin-top:6px}
.learning-visual .lv-social--chat{background:#e8e9df}.learning-visual .lv-social--chat .lv-social-brand{background:#075e54;color:white}.learning-visual .lv-social--chat .lv-social-brand>span{color:#daf1e7;border-color:#6faba2}
.learning-visual .lv-chat-message{position:relative;margin:22px 16px 22px 34px;padding:14px 16px 28px;background:#dcf8c6;border-radius:12px 12px 2px 12px;box-shadow:0 1px 3px #173b4320}.learning-visual .lv-chat-author{font-size:.64rem;color:#216058;font-weight:700}.learning-visual .lv-chat-message p{font-size:.9rem;line-height:1.6;color:#202d29;margin-top:8px}.learning-visual .lv-chat-time{position:absolute;bottom:8px;right:12px;font-size:.59rem;color:#4a665b}
.learning-visual .lv-email-meta{padding:16px;border-bottom:1px solid #e3e8ec;display:grid;gap:7px;overflow-wrap:anywhere}.learning-visual .lv-email-meta strong{font-size:1rem;line-height:1.4}.learning-visual .lv-email-meta span{font-size:.69rem;color:#53616b;line-height:1.5}
.learning-visual .lv-address{display:flex;align-items:center;gap:9px;margin:12px;padding:10px 12px;background:#edf1f4;border-radius:7px;font-size:.67rem;color:#425767;overflow-wrap:anywhere}.learning-visual .lv-address span:last-child{min-width:0}
.learning-visual .lv-browser-page{padding:14px 20px 26px}.learning-visual .lv-browser-page small{color:#687b87;letter-spacing:.07em;font-size:.57rem}.learning-visual .lv-browser-page p{font-size:1rem;line-height:1.65;color:#203742;margin:14px 0 0}
.learning-visual .lv-workspace{padding:18px}.learning-visual .lv-workspace-label{font-size:.67rem;font-weight:700;color:#41645f}.learning-visual .lv-workspace p{margin:10px 0;padding:16px;border-radius:11px;background:#edf4f1;font-size:.9rem;color:#243b37;line-height:1.6}.learning-visual .lv-workspace-bottom{font-size:.61rem;color:#63786e}
.learning-visual .lv-clues{margin:0 22px 22px;border:1px solid var(--border);border-radius:11px;background:var(--primary-bg);color:var(--dark)}
.learning-visual .lv-clues summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;font-size:.82rem;font-weight:700;cursor:pointer;list-style:none}.learning-visual .lv-clues summary::-webkit-details-marker{display:none}.learning-visual .lv-clues[open] summary>span{transform:rotate(45deg)}
.learning-visual .lv-clues ol{padding:0 18px 16px 36px}.learning-visual .lv-clues li{padding:5px 0 5px 4px;font-size:.8rem;line-height:1.65;color:var(--dark-soft)}.learning-visual .lv-clues summary:focus-visible{outline:3px solid var(--secondary);outline-offset:3px;border-radius:8px}
@media(max-width:600px){:is(.ff-reader,.adventure-visuals) .learning-visual{margin:24px 0;border-radius:14px}.learning-visual>figcaption{padding:17px}.learning-visual .lv-map,.learning-visual .lv-route{padding:16px}.learning-visual .lv-map{grid-template-columns:1fr}.learning-visual .lv-node{padding:13px;gap:9px}.learning-visual .lv-node__mark{flex-basis:26px;width:26px;height:26px}.learning-visual .lv-route .lv-node:not(:last-child)::after{left:25px}.learning-visual .lv-social{margin:16px 12px}.learning-visual .lv-clues{margin:0 12px 16px}.learning-visual .lv-insta-card{padding:22px;aspect-ratio:auto;min-height:230px}.learning-visual .lv-social-stats{font-size:.64rem}.learning-visual .lv-video-poster{min-height:365px}.learning-visual .lv-video-quote>p{font-size:1.07rem}.learning-visual .lv-social-brand>strong{font-size:1rem}}
@media print{:is(.ff-reader,.adventure-visuals) .learning-visual{border-color:#aaa}.learning-visual>figcaption{background:#fff;color:#123546}.learning-visual .lv-eyebrow{color:#345d66}.learning-visual .lv-clues>ol{display:block!important}.learning-visual .lv-social--tiktok{max-width:340px}}

/* Scènes à observer : dessins entiers, indices consultables et zoom au clavier. */
.learning-visual .lv-gallery-intro{padding:20px 22px 0;font:400 .86rem/1.65 Inter,system-ui,sans-serif;color:var(--dark-soft)}
.learning-visual .lv-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;padding:20px 22px 22px}
.learning-visual .lv-observation{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--card-bg);display:flex;flex-direction:column;break-inside:avoid}
:is(html[data-skin] .ff-reader,.adventure-visuals) .learning-visual .lv-observation h4{margin:0;padding:15px 16px;color:var(--dark);font:750 .96rem/1.4 Inter,system-ui,sans-serif}
.learning-visual .lv-observation__zoom{display:block;position:relative;padding:0;width:100%;border:0;border-radius:0;background:#123746;cursor:zoom-in;line-height:0;min-height:44px}
.learning-visual .lv-observation__zoom img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;max-height:none}
.learning-visual .lv-observation__zoom>span{position:absolute;right:8px;bottom:8px;padding:7px 9px;border:1px solid #beded580;border-radius:7px;background:#103442eb;color:#eff9f5;font:650 .66rem/1.25 Inter,system-ui,sans-serif}
.learning-visual .lv-observation__zoom:focus-visible{outline:3px solid var(--secondary);outline-offset:-4px}
.learning-visual .lv-observation__question{padding:15px 16px;flex:1}
.learning-visual .lv-observation__question>strong{display:block;margin:0 0 5px;color:var(--primary);font:750 .67rem/1.4 Inter,system-ui,sans-serif;letter-spacing:.035em;text-transform:uppercase}
:is(html[data-skin] .ff-reader,.adventure-visuals) .learning-visual .lv-observation__question p{font:500 .86rem/1.65 Inter,system-ui,sans-serif;margin:0;color:var(--dark)}
.learning-visual .lv-observation .lv-clues{margin:0 12px 12px}.learning-visual .lv-observation .lv-clues summary{min-height:44px;align-items:center;padding:12px}
.lv-lightbox{box-sizing:border-box;width:min(1120px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;border:1px solid #668d96;border-radius:16px;background:#102f40;color:#eef7f3;box-shadow:0 24px 80px #00111ca6}
.lv-lightbox::backdrop{background:#031622d9}
.lv-lightbox>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#102f40;border-bottom:1px solid #3a5a65}
.lv-lightbox>header h2{margin:0;font:750 1rem/1.4 Inter,system-ui,sans-serif;color:#eef7f3}
.lv-lightbox>header button{flex-shrink:0;min-height:44px;padding:10px 16px;border:1px solid #92bdb9;border-radius:9px;background:#1c4b59;color:#f4fcf8;font:700 .85rem/1.4 Inter,system-ui,sans-serif;cursor:pointer}
.lv-lightbox>header button:focus-visible{outline:3px solid #bce6dc;outline-offset:3px}
.lv-lightbox>img{display:block;width:100%;height:auto;object-fit:contain}
/* #78 : taille réelle pour lire le texte d'une planche ; la boîte défile dans les deux sens. */
.lv-lightbox>header .lv-lightbox__actions{display:flex;gap:8px;flex-shrink:0}
.lv-lightbox>header button[aria-pressed="true"]{background:#2b6b74}
.lv-lightbox.lv-lightbox--natural>img{width:auto;max-width:none;height:auto}
/* Les planches et scènes gardent leur hauteur bornée une fois agrandissables. */
.learning-visual .lv-scene .lv-observation__zoom img{max-height:380px}
.learning-visual .lv-example-image .lv-observation__zoom img{max-height:380px}
.lv-lightbox>p{margin:0;padding:16px 18px;color:#d0e3e5;font:400 .85rem/1.65 Inter,system-ui,sans-serif}
@media(max-width:600px){.learning-visual .lv-gallery-intro{padding:16px 14px 0}.learning-visual .lv-gallery{padding:16px 12px;gap:16px}.learning-visual .lv-observation h4{padding:13px}.lv-lightbox>header{padding:10px 12px;gap:10px}}
@media print{.learning-visual .lv-observation__zoom>span,.lv-lightbox{display:none}.learning-visual .lv-observation .lv-clues>ol{display:block!important}.learning-visual .lv-gallery{grid-template-columns:1fr 1fr}}
