/* Atelier — Le Labyrinthe des histoires. Aucun sélecteur visant un autre jeu. */
.artwork-labyrinthe{background:#e4eee0}

.lab-subtitle{margin:6px 0 15px;color:#667d8b;font-size:13px}




.lab-picture-online{background:linear-gradient(135deg,#d7ebe2,#e2eff3)}.lab-picture-paper{background:linear-gradient(135deg,#f7e8bd,#f4e0cf)}
.lab-mini-maze{font-size:31px;line-height:1.15;white-space:pre;text-align:center;letter-spacing:8px;color:#456f75;font-weight:700}
.lab-mini-page{display:grid;place-items:center;background:white;width:190px;height:133px;border-radius:7px;box-shadow:9px 8px #fff9,9px 11px 12px #0001;transform:rotate(-4deg)}
.lab-arrow{align-self:flex-end;padding:0 11px 8px;font-size:21px;color:#315d75}
/* Préparation à trois blocs ; affichage du plateau via le moteur Labyrinthe existant. */
#view-labyrinthe:not([hidden]){display:flex;flex-direction:column;height:100%;min-height:0}
.lab-config{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.lab-workspace{display:grid;gap:12px;flex:1;min-height:0}
#lab-prep-board{width:960px;min-height:679px;position:relative}
.lab-prep-sheet{width:960px;height:679px;background:white;box-shadow:0 2px 16px #1f354522;box-sizing:border-box;padding:60px;display:grid;place-items:center}
#lab-prep-preview{width:100%;height:100%;display:grid;place-items:center}
#lab-prep-preview .lab-board{max-width:100%;width:100%;max-height:100%;}
.lab-prep-empty{color:#60717b;font-size:17px;text-align:center;border:2px dashed #d3dee3;border-radius:12px;padding:24px}
.lab-settings-panel .memory-version{width:100%;margin-top:12px}
.lab-settings-panel [data-lab-panel][hidden]{display:none!important}
.lab-level-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lab-level-list button{min-height:40px;border:1px solid #dde5e5;background:#f6f8f8;color:#36576c;border-radius:9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.lab-level-list button[aria-pressed="true"]{background:#fef0cd;color:#79511e;border-color:#dca83a;box-shadow:0 0 0 1px #dca83a inset}

.lab-selected-pair{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);align-items:center;gap:4px;min-width:0}.lab-pick-slot{min-width:0;width:100%;justify-content:space-between;box-sizing:border-box;border:1px solid #e0e6e8;border-radius:10px;padding:4px;display:flex;align-items:center;gap:4px;background:#fafbfb;cursor:pointer;color:#244a5d;font:inherit;font-size:11px;font-weight:700}
.lab-pick-slot.active{background:#fdf4df;border-color:#dca83a}.lab-slot-img{flex:0 0 30px;width:30px;height:30px;border-radius:7px;background:white;display:grid;place-items:center;overflow:hidden;font-size:20px}.lab-slot-img img{width:100%;height:100%;object-fit:contain}
.lab-card{position:relative}.lab-card:focus-visible{outline:3px solid #b88321}.lab-card.is-start{border:3px solid #e6af42;background:#fff6df}.lab-card.is-end{border:3px solid #6da9b9;background:#edf7fa}.lab-card small{position:absolute;top:1px;right:1px;border-radius:4px;background:#fff9;padding:1px 3px;font-size:9px;font-weight:700;color:#3b5e72}

body.el-memory-immersive #view-labyrinthe{height:100%;display:flex;flex-direction:column;min-height:0}
.lab-screen{flex:1 1 auto;min-height:0}.lab-screen:not([hidden]){display:flex;flex-direction:column;gap:8px}.lab-play-area{display:grid;grid-template-columns:minmax(95px,155px) minmax(0,1fr) minmax(95px,155px);gap:10px;align-items:center;justify-items:center;flex:1 1 auto;min-height:0}
.lab-endpoint{background:#fff;border:1px solid #dce6e5;border-radius:15px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:155px}.lab-endpoint span{font-size:12px;font-weight:700}.lab-endpoint img{width:100%;aspect-ratio:1;object-fit:contain;max-height:130px}
.lab-board-shell{height:100%;min-width:0;min-height:0;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}
.lab-board{position:relative;aspect-ratio:var(--lab-aspect,1.33);height:auto;width:min(100%, calc((100dvh - 122px) * var(--lab-aspect,1.33)));max-height:100%;background:#fffef9;border-radius:11px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none;box-shadow:0 5px 18px #1a465019}
.lab-board svg{width:100%;height:100%;display:block;overflow:visible}.lab-board .lab-maze-walls{stroke:#31596a;stroke-width:3.1;fill:none;stroke-linecap:round;stroke-linejoin:round}.lab-board .lab-maze-solution{fill:none;stroke:#e1a73a;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.78}.lab-board .lab-maze-trail{fill:none;stroke:#6caf91;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.lab-board .lab-token{fill:#3686a6;stroke:white;stroke-width:3}.lab-marker-image{position:absolute;pointer-events:none;object-fit:contain;border:1px solid #ffffffc9;background:#fffef4;border-radius:5px;box-shadow:0 1px 4px #0002;padding:1px}
.lab-play-hint{text-align:center;color:#5c7382;font-size:11px;min-height:18px;margin:0}
.lab-paper-space{display:flex;flex:1 1 auto;min-height:0;align-items:center;justify-content:center;overflow:hidden}.lab-paper-sheet{background:#fff;aspect-ratio:297/210;width:min(100%,calc((100dvh - 115px) * 297 / 210));max-height:100%;box-shadow:0 4px 23px #17313f22;display:flex;align-items:center;justify-content:center;padding:3%}
.lab-paper-sheet .lab-board{width:100%;height:auto;max-height:100%;box-shadow:none;border-radius:0}
@media(max-width:850px){.lab-play-area{grid-template-columns:minmax(70px,105px) minmax(0,1fr) minmax(70px,105px);gap:6px}}
@media(max-width:600px){.lab-selected-pair{justify-content:center}.lab-play-area{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:65px minmax(0,1fr);gap:5px}.lab-endpoint{display:flex;flex-direction:row;gap:6px;max-width:none;width:100%;padding:5px;justify-content:center;border-radius:8px}.lab-endpoint img{width:46px;height:46px;max-height:46px}.lab-board-shell{grid-column:1/-1;grid-row:2}.lab-board{width:min(100%, calc((100dvh - 122px) * var(--lab-aspect,1.33)));max-height:100%}.lab-paper-sheet{width:100%}#lab-paper .memory-game-topbar{flex-wrap:wrap}}
@media(max-height:480px){.lab-endpoint{display:none}.lab-play-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.lab-board{width:min(100%, calc((100dvh - 78px) * var(--lab-aspect,1.33)))}}
/* La fiche du labyrinthe est un objet physique (mm) composé par le moteur commun.
   Les anciennes feuilles A4 parallèles et leur réglage @page sont supprimés. */
.lab-print-unit{box-sizing:border-box;overflow:hidden;background:#fff}
.lab-print-unit .lab-board{overflow:hidden;box-shadow:none;border-radius:0;max-width:none;max-height:none;touch-action:auto}
#lab-prep-preview>.efpv-paper{position:relative;display:block;max-width:none;max-height:none;box-shadow:none}
#lab-prep-preview>.efpv-paper .lab-print-unit .lab-board{box-shadow:none}
@media print{#print-stage.efpv-native-print .lab-board .lab-maze-walls{stroke:#1d3340;stroke-width:3.5}}

#view-labyrinthe .lab-settings-content h2:first-child{padding-left:28px;min-height:22px}
