.age-workshop{color:#243d41;font-size:1.05rem}.age-workshop-scene{min-height:145px;border-radius:18px;overflow:hidden;position:relative;display:flex;align-items:center;margin-bottom:1.4rem;background:#e9f1d7}.age-workshop-scene>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}.age-workshop-scene>.age-workshop-resident{position:relative;width:100px;height:140px;object-fit:contain;align-self:flex-end}.age-workshop-scene>div{position:relative;max-width:610px;padding:1rem}.age-workshop-scene p{margin:.4rem 0;font-weight:800;font-size:1.12rem}.age-workshop-scene small{font-weight:900;color:#5b4880}.age-button{font:800 1rem Nunito,system-ui;cursor:pointer;min-height:46px;padding:.65rem .85rem;border:2px solid #bfccba;border-radius:13px;background:#fffcf1;color:#284749;touch-action:manipulation}.age-button:hover{background:#f4e4b6;border-color:#ab814c}.age-button:focus-visible{outline:4px solid #9167ba;outline-offset:3px}.age-button[aria-pressed=true],.age-span.selected{border-color:#9570b4;box-shadow:0 0 0 2px #d9c5ec}.age-button:disabled{opacity:.35;cursor:default}.age-icon{width:65px;height:65px;display:block;margin:auto}.age-button small{display:block}.age-palette{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0;align-items:center;justify-content:center}.age-bridge{background:linear-gradient(120deg,#a4d7d6,#d2ebdf);border-radius:15px;padding:1rem}.age-span{border:2px solid transparent;border-radius:12px;padding:.6rem;margin:.4rem 0;background:#e8efd4}.age-span>p{margin:.3rem;font-size:.9rem}.age-span-track{position:relative;min-height:65px;margin:.8rem 0;background:#69aeb9;border-left:10px solid #799264;border-radius:7px;overflow:visible}.age-target-line{position:absolute;left:var(--target);top:0;bottom:0;border-right:5px dashed #fbe8a5;pointer-events:none}.age-laid{display:flex;position:relative;min-height:60px;align-items:center;gap:0;flex-wrap:nowrap}.age-laid>.age-button{flex-shrink:0;padding:.2rem 0;background:repeating-linear-gradient(4deg,#bf8c52 0 13px,#af7c43 14px 16px);border-color:#795739;border-radius:3px;min-width:20px;color:#fff7e4;font-size:.85rem;min-height:54px}.age-laid small{font-size:.75rem}.age-wood{display:flex;align-items:center;justify-content:center;min-height:45px;max-width:160px;background:repeating-linear-gradient(4deg,#bf8c52 0 13px,#af7c43 14px 16px);color:white;border:2px solid #795739;border-radius:4px;margin-bottom:.3rem}.age-dots{display:inline-flex;gap:5px;flex-wrap:wrap;max-width:110px;vertical-align:middle}.age-dots i{display:block;width:14px;height:14px;border-radius:50%;background:currentColor}.age-grid{display:grid;grid-template-columns:repeat(var(--columns),1fr);max-width:410px;margin:auto;gap:5px}.age-pipes{padding:12px;background:#bed8d4;border-radius:16px}.age-pipes .age-button{padding:0;aspect-ratio:1;background:#e5e6d2;border-radius:10px}.age-pipes .age-icon{width:100%;height:100%}.age-flow-label,.age-flow-exit{max-width:410px;margin:.3rem auto;font-weight:800}.age-flow-exit{text-align:right}.age-measuring{display:flex;gap:2rem;align-items:center;justify-content:center;flex-wrap:wrap}.age-tank{height:280px;width:130px;border:6px solid #568495;border-top:0;border-radius:0 0 20px 20px;position:relative;margin-top:1.4rem;background:#e1f0eb}.age-water{position:absolute;bottom:0;left:0;right:0;background:#64bdcc;transition:height .3s}.age-water-target{position:absolute;left:0;right:0;border-top:4px dashed #8960ac;z-index:2}.age-water-target span{position:absolute;top:-30px;left:5px;background:#fff8e4;padding:1px 5px;white-space:nowrap;font-weight:900}.age-tank>i{position:absolute;right:0;width:16px;border-top:2px solid #527f89}.age-bed{padding:1rem;background:#e0d5b5;border-radius:15px;margin:.8rem 0}.age-bed>p{display:flex;align-items:center;gap:.8rem;font-weight:900}.age-bed>p .age-icon{width:42px;height:42px;margin:0}.age-seeds{display:flex;gap:.5rem;flex-wrap:wrap}.age-seeds>.age-button{background:#9a7653;border-color:#68553c;min-width:62px;min-height:72px}.age-seeds .age-icon{width:45px;height:55px}.age-hole{display:grid;place-items:center;width:40px;height:40px;background:#79583f;border-radius:50%;color:#d4bd94}.age-story{padding:1rem;background:#f8edcf;border-radius:12px}.age-story-slots{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.age-story-slots>*,.age-cards>.age-button{width:calc(25% - .6rem);min-width:110px;max-width:170px;position:relative}.age-story-slots b{position:absolute;top:4px;left:5px;background:#775693;color:white;width:25px;height:25px;border-radius:50%}.age-scene{width:100%;height:90px;object-fit:cover;border-radius:8px}.age-portrait{width:65px;height:85px;object-fit:contain}.age-empty{display:grid;place-items:center;min-height:130px;border:3px dashed #bdbb9e;border-radius:12px}.age-match-targets{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.age-match-targets>.age-button{position:relative;min-width:120px;display:flex;flex-direction:column;align-items:center}.age-silhouette{opacity:.65}.age-match-put{border-top:2px dashed #a3a88a;margin-top:.4rem;padding-top:.4rem;min-height:55px}.age-lanterns{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1.5rem .5rem;background:linear-gradient(#495d71,#8aa6ac);border-radius:16px}.age-lanterns>span{padding:.65rem}.age-lanterns .age-button{min-width:65px}.age-route-cell{aspect-ratio:1;display:grid;place-items:center;background:#d9e0ba;border-radius:10px;border:2px solid #b6c199}.age-route-cell.visited{background:#f4dba1}.age-route-cell.blocked{background:#8f9d96}.age-route-cell>img{height:70px;width:65px;object-fit:contain}.age-route-cell>span{font-size:2rem}.age-route-controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem}.age-mosaic .age-button{aspect-ratio:1;min-height:0;padding:0;border-radius:4px;font-size:2rem;background:#dad9bb}.age-mosaic .age-button:disabled{opacity:1;background:#bdca93;border-color:#91aa73}.age-mosaic .age-button.filled{background:#c99965;color:#805c3c;border-color:#9d774e}.age-domino{display:flex;margin:auto;width:62px;gap:2px}.age-domino i{width:30px;height:30px;background:#c99965;border:2px solid #916d42}.age-domino.vertical{transform:rotate(90deg);margin:18px auto}.age-feedback{min-height:1.6rem;font-weight:800;color:#705280;text-align:center}.age-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;border-top:1px solid #d9dcc3;padding-top:1rem}.age-actions>.age-button:first-child{background:#715291;color:white;border-color:#62457c}.age-guide p,.age-guide li{line-height:1.6}.age-guide a{color:#675087;text-decoration:underline}.age-guide h3{margin-top:1.5rem}@media(max-width:600px){.age-workshop-scene>div{padding:.7rem}.age-workshop-scene>.age-workshop-resident{width:70px;height:100px}.age-workshop-scene p{font-size:1rem}.age-icon{width:48px;height:48px}.age-span{padding:.3rem}.age-bridge{padding:.4rem}.age-laid small{font-size:.62rem}.age-laid>.age-button{font-size:.7rem}.age-palette{gap:.4rem}.age-story-slots>*,.age-cards>.age-button{min-width:95px;width:45%}.age-tank{height:220px}.age-route-cell>img{max-height:60px}.age-match-targets>.age-button{min-width:80px;max-width:105px;padding:.4rem}}

.age-level-badge{font-size:.8rem;border-radius:9px;padding:4px 9px;background:#765591;color:#fff8e5;margin-left:5px}

.age-workshop[data-type="match"] .age-silhouette{opacity:1}
/* The illustration has a linear scale; the surrounding button keeps a large hit area. */
.age-plank-palette>.age-button{min-width:164px}.age-wood-holder{width:144px;height:47px;display:flex;align-items:center;justify-content:flex-start;margin:0 auto .4rem}.age-wood-holder .age-wood{margin:0;box-sizing:border-box;max-width:none}.age-laid>.age-button{min-width:0;box-sizing:border-box;overflow:hidden}.age-span-track{overflow-x:auto;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--tick) - 1px),#b5d9d6 calc(var(--tick) - 1px),#b5d9d6 var(--tick))}.age-span>.age-button:last-child:not(:first-child){font-size:.85rem;padding:.3rem .6rem}.age-meter{box-sizing:border-box;min-height:28px;border:3px solid #82634b;border-top:0;text-align:center;margin:.3rem 1rem .9rem;font-weight:900}.age-scale-label{font-size:.9rem}.age-pipes .age-wet{box-shadow:inset 0 0 0 3px #36b2d4}.age-route-board{position:relative;max-width:410px;margin:auto;padding:8px;background:#d3dfc4;border-radius:16px}.age-route-line{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);z-index:1;pointer-events:none}.age-route-cell{position:relative;background:#d9e0ba99}.age-route-cell>*{position:relative;z-index:2}.age-route-cell>.age-icon{max-width:65%;max-height:70px}.age-route-cell.visited{border-color:#b78646;background:#f4dba188}.age-visited-mark{position:absolute;top:0;right:4px;color:#385931}.age-constellation{background:radial-gradient(ellipse at 50% 80%,#586e91,#263957)}.age-constellation .age-route-cell{background:#283b5a44;border-color:#76859a;color:#e6d8a4}.age-constellation .age-route-cell.visited{background:#e8c77c22;border-color:#e8c77c}.age-constellation .age-route-cell.blocked{background:#6d777c}.age-constellation .age-visited-mark{color:#ffeca1}.age-mosaic .age-button.filled{background:var(--tile-color);border-color:#745b41}.age-story-slots .age-button{min-height:100px}.age-lanterns>span{align-self:center}.age-water-target .age-dots{padding:.25rem 0}.age-water-target .age-dots i{width:12px;height:12px}
@media(prefers-reduced-motion:reduce){.age-water{transition:none}}
@media(max-width:600px){.age-plank-palette>.age-button{min-width:148px;padding:.5rem .4rem}.age-wood-holder{width:144px}.age-route-cell>img{width:100%;height:auto;max-height:65px}.age-span>.age-button:first-child{max-width:100%}}

.age-meter{margin:.5rem 0}.age-span-track{border-left-width:0;box-shadow:inset 5px 0 #799264}
.age-target-line{transform:translateX(-5px)}

/* Keep the bridge and its stock together throughout the assembly challenge. */
.age-workshop[data-type="assemble"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 184px;
    grid-template-areas: "intro intro" "scale scale" "bridge stock" "feedback feedback" "actions actions";
    gap: .55rem .85rem;
    align-items: start;
}
.age-workshop[data-type="assemble"] > .age-workshop-scene {
    grid-area: intro;
    min-height: 80px;
    margin: 0;
    border-radius: 12px;
}
.age-workshop[data-type="assemble"] .age-workshop-resident { width: 65px; height: 84px; }
.age-workshop[data-type="assemble"] .age-workshop-scene > div { padding: .5rem .7rem; }
.age-workshop[data-type="assemble"] .age-workshop-scene p { margin: .25rem 0; font-size: 1rem; line-height: 1.4; }
.age-workshop[data-type="assemble"] > .age-scale-label { grid-area: scale; margin: 0; line-height: 1.4; }
.age-workshop[data-type="assemble"] > .age-bridge { grid-area: bridge; min-width: 0; padding: .45rem; }
.age-workshop[data-type="assemble"] .age-span {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "title amount undo" "meter meter meter" "track track track";
    align-items: center;
    gap: .2rem .35rem;
    margin: 0 0 .4rem;
    padding: .4rem;
}
.age-workshop[data-type="assemble"] .age-span:last-child { margin-bottom: 0; }
.age-workshop[data-type="assemble"] .age-span > .age-button:first-child {
    grid-area: title;
    min-height: 44px;
    padding: .35rem .55rem;
    font-size: .92rem;
}
.age-workshop[data-type="assemble"] .age-span > p {
    grid-area: amount;
    margin: 0;
    font-size: .8rem;
    line-height: 1.35;
    text-align: right;
}
.age-workshop[data-type="assemble"] .age-meter { grid-area: meter; min-height: 19px; margin: .1rem 0; border-width: 2px; line-height: 1.1; font-size: .9rem; }
.age-workshop[data-type="assemble"] .age-span-track { grid-area: track; min-height: 44px; margin: .15rem 0; }
.age-workshop[data-type="assemble"] .age-laid { min-height: 44px; }
.age-workshop[data-type="assemble"] .age-laid > .age-button { min-height: 44px; }
.age-workshop[data-type="assemble"] .age-span > .age-button:last-child:not(:first-child) {
    grid-area: undo;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    font-size: 0;
}
.age-workshop[data-type="assemble"] .age-span > .age-button:last-child:not(:first-child)::before { content: "↶"; font-size: 1.25rem; }
.age-workshop[data-type="assemble"] > .age-plank-palette {
    grid-area: stock;
    position: sticky;
    top: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem;
    margin: 0;
    padding: .5rem;
    border: 1px solid #b8c6ad;
    border-radius: 13px;
    background: #f4ebce;
    box-shadow: 0 3px 10px #594b2c15;
}
.age-workshop[data-type="assemble"] > .age-plank-palette::before { content: "La réserve de planches"; font: 900 .85rem Nunito, system-ui; text-align: center; }
.age-workshop[data-type="assemble"] > .age-plank-palette > .age-button { width: 100%; min-width: 0; padding: .4rem; }
.age-workshop[data-type="assemble"] .age-wood-holder { margin-bottom: .2rem; }
.age-workshop[data-type="assemble"] > .age-feedback { grid-area: feedback; min-height: 0; margin: 0; }
.age-workshop[data-type="assemble"] > .age-feedback:empty { display: none; }
.age-workshop[data-type="assemble"] > .age-actions { grid-area: actions; margin: 0; padding-top: .5rem; }
@media (max-width: 600px) {
    .age-workshop[data-type="assemble"] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "intro" "scale" "stock" "bridge" "feedback" "actions";
        gap: .5rem;
    }
    .age-workshop[data-type="assemble"] > .age-plank-palette { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .25rem; padding: .4rem; }
    .age-workshop[data-type="assemble"] > .age-plank-palette::before { grid-column: 1 / -1; }
    .age-workshop[data-type="assemble"] > .age-plank-palette > .age-button { min-height: 58px; padding: .35rem .2rem; font-size: .85rem; }
    .age-workshop[data-type="assemble"] .age-wood-holder { transform: scale(.38); transform-origin: left top; margin: 0 -89.28px -29.14px 0; }
    .age-workshop[data-type="assemble"] .age-span { grid-template-columns: auto minmax(0, 1fr) auto; gap: .15rem .25rem; padding: .3rem; }
    .age-workshop[data-type="assemble"] .age-span > .age-button:first-child { padding: .3rem .4rem; font-size: .85rem; }
    .age-workshop[data-type="assemble"] .age-span > p { font-size: .75rem; }
    .age-workshop[data-type="assemble"] .age-span:not(.selected) > .age-meter,
    .age-workshop[data-type="assemble"] .age-span:not(.selected) > .age-span-track,
    .age-workshop[data-type="assemble"] .age-span:not(.selected) > .age-button:last-child:not(:first-child) { display: none; }
}
@media (max-width: 360px) {
    .age-workshop[data-type="assemble"] .age-wood-holder { transform: scale(.32); margin-right: -97.92px; margin-bottom: -31.96px; }
}
@media (min-width: 601px) and (max-height: 700px) {
    .age-workshop[data-type="assemble"] > .age-plank-palette { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
    .age-workshop[data-type="assemble"] > .age-plank-palette::before { grid-column: 1 / -1; }
    .age-workshop[data-type="assemble"] > .age-plank-palette > .age-button { min-height: 58px; padding: .35rem .2rem; font-size: .85rem; }
    .age-workshop[data-type="assemble"] .age-wood-holder { transform: scale(.38); transform-origin: left top; margin: 0 -89.28px -29.14px 0; }
}
@media (max-width: 600px) {
    .age-workshop[data-type="assemble"] .age-workshop-resident { display: none; }
    .age-workshop[data-type="assemble"] .age-workshop-scene > div { padding: .4rem .55rem; }
    .age-workshop[data-type="assemble"] .age-workshop-scene small { font-size: .7rem; }
    .age-workshop[data-type="assemble"] .age-workshop-scene p { font-size: .9rem; line-height: 1.35; }
    .age-workshop[data-type="assemble"] > .age-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; }
    .age-workshop[data-type="assemble"] > .age-actions > .age-button { min-height: 44px; padding: .4rem; font-size: .85rem; }
    .age-workshop[data-type="assemble"] > .age-actions > .age-button:first-child { grid-column: 1 / -1; }
}
/* Let the actual modal header determine the space available to its scroll area. */
.plume-adventure .pa-panel[open]:has(.age-workshop[data-type="assemble"]) {
    display: flex;
    flex-direction: column;
    max-height: min(94dvh, 850px);
}
.plume-adventure .pa-panel[open]:has(.age-workshop[data-type="assemble"]) > .pa-panel-head { flex-shrink: 0; }
.plume-adventure .pa-panel:has(.age-workshop[data-type="assemble"]) > #pa-panel-body {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
}

/* Make the selected bridge part and the next plank's destination explicit. */
.age-workshop[data-type="assemble"] .age-assembly-guide { grid-area: guide; display: flex; flex-wrap: wrap; gap: .15rem 1rem; margin: 0; font-size: .85rem; line-height: 1.3; }
.age-workshop[data-type="assemble"] .age-span > .age-button:first-child { display: grid; gap: .1rem; padding: .25rem .45rem; line-height: 1.15; text-align: left; }
.age-workshop[data-type="assemble"] .age-row-choice { display: block; font-size: .7rem; font-weight: 800; line-height: 1.15; }
.age-workshop[data-type="assemble"] .age-span.selected > .age-button:first-child { background: #513e68; color: #fff8e6; border-color: #513e68; }
.age-workshop[data-type="assemble"] > .age-plank-palette::before { content: none; }
.age-workshop[data-type="assemble"] .age-stock-guide { grid-column: 1 / -1; margin: 0; font-size: .85rem; font-weight: 800; line-height: 1.3; text-align: center; }
.age-workshop[data-type="assemble"] .age-stock-destination { display: block; margin-top: .2rem; padding: .2rem .3rem; border-radius: 6px; background: #513e68; color: #fff8e6; }
@media (max-width: 600px) {
    .age-workshop[data-type="assemble"] .age-stock-guide { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem; font-size: .8rem; }
    .age-workshop[data-type="assemble"] .age-stock-destination { margin: 0; }
    .age-workshop[data-type="assemble"] .age-assembly-guide { font-size: .8rem; }
}

.age-workshop[data-type="assemble"] { grid-template-areas: "intro intro" "scale scale" "guide guide" "bridge stock" "feedback feedback" "actions actions"; }
@media (max-width: 600px) {
    .age-workshop[data-type="assemble"] { grid-template-areas: "intro" "scale" "guide" "stock" "bridge" "feedback" "actions"; }
}

/* CM1: show the object being discussed, using the same drawings as the pupitre. */
.plume-adventure .pa-dialogue.has-story-visual {
    grid-template-columns: 64px minmax(140px, 185px) minmax(0, 1fr) auto;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
}
.plume-adventure .has-story-visual > .pa-dialogue-portrait { grid-column: 1; grid-row: 1; align-self: center; height: 90px; }
.plume-adventure .has-story-visual > .pa-dialogue-portrait img { object-fit: contain; }
.plume-adventure .has-story-visual > .pa-dialogue-copy { grid-column: 3; grid-row: 1; }
.plume-adventure .has-story-visual > #pa-dialogue-next { grid-column: 4; grid-row: 1; }
.plume-adventure .pa-dialogue-visual { grid-column: 2; grid-row: 1; min-width: 0; padding: .5rem 0; background: radial-gradient(ellipse, #ffe7a8b0, transparent 72%); }
.plume-adventure .pa-dialogue-visual[hidden] { display: none; }
.plume-adventure .pa-story-objects { display: grid; justify-items: center; align-items: start; gap: .4rem; }
.plume-adventure .pa-story-objects:not(.count-1) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plume-adventure .pa-story-object, .plume-adventure .pa-story-plan { min-width: 0; margin: 0; text-align: center; }
.plume-adventure .pa-story-object > .age-icon { display: block; width: 118px; height: 118px; max-width: 100%; margin: auto; filter: drop-shadow(0 5px 3px #775a3c30); animation: pa-story-offer .28s ease-out; }
.plume-adventure .pa-story-objects:not(.count-1) .age-icon { width: 66px; height: 66px; }
.plume-adventure .pa-story-object figcaption, .plume-adventure .pa-story-plan figcaption { margin-top: .3rem; color: #4d365c; font: 900 .8rem/1.25 Nunito, system-ui; }
.plume-adventure .pa-story-object blockquote { margin: .5rem 0 0; padding: .35rem; color: #42312b; font: 800 .85rem/1.4 Nunito, system-ui; background: #fff8df; border: 1px solid #c7a66b; border-radius: 7px; }
.plume-adventure .pa-story-plan > .age-route-board { width: 162px; max-width: 100%; padding: 5px; box-sizing: border-box; }
.plume-adventure .pa-story-plan .age-grid { gap: 3px; }
.plume-adventure .pa-story-plan .age-route-cell { min-width: 0; border-radius: 5px; }
.plume-adventure .pa-story-plan .age-route-cell > img, .plume-adventure .pa-story-plan .age-route-cell > .age-icon { width: 26px; height: 26px; max-width: 80%; max-height: 80%; }
.plume-adventure .pa-story-plan .age-route-cell > span { font-size: 1rem; }
.plume-adventure .pa-item-icon > .age-icon { width: 38px; height: 38px; margin: auto; }
.plume-adventure .pa-story-reward { margin: 1rem auto; width: min(100%, 240px); padding: 1rem; border-radius: 18px; background: radial-gradient(ellipse, #ffe7a8, #fff4d960 65%, transparent 75%); }
.plume-adventure .pa-story-reward .age-icon { width: 150px; height: 150px; }
@keyframes pa-story-offer { from { opacity: 0; transform: translateY(6px) scale(.92); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
    .plume-adventure .pa-dialogue.has-story-visual { grid-template-columns: 45px minmax(0, 1fr); gap: .45rem .6rem; max-height: min(80dvh, 610px); }
    .plume-adventure .has-story-visual > .pa-dialogue-portrait { grid-column: 1; grid-row: 1; height: 64px; }
    .plume-adventure .has-story-visual > .pa-dialogue-copy { grid-column: 2; grid-row: 1; }
    .plume-adventure .has-story-visual > .pa-dialogue-visual { grid-column: 1 / -1; grid-row: 2; padding: .25rem; }
    .plume-adventure .has-story-visual > #pa-dialogue-next { grid-column: 1 / -1; grid-row: 3; }
    .plume-adventure .has-story-visual > #pa-dialogue-skip { grid-column: 1 / -1; grid-row: 4; position: static; }
    .plume-adventure .pa-story-object > .age-icon { width: 88px; height: 88px; }
    .plume-adventure .pa-story-objects.count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .plume-adventure .pa-story-objects.count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .plume-adventure .pa-story-objects:not(.count-1) .age-icon { width: 48px; height: 48px; }
    .plume-adventure .pa-story-object figcaption { font-size: .72rem; }
}
@media (max-width: 430px) {
    .plume-adventure .has-story-visual > .pa-dialogue-copy { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .plume-adventure .pa-story-object > .age-icon { animation: none; } }

/* Reference units and verbalisation, without scores or inferred attainment. */
.age-wood-holder .age-wood { background-image: repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--wood-tick) - 2px),#614123 calc(var(--wood-tick) - 2px),#614123 var(--wood-tick)),repeating-linear-gradient(4deg,#bf8c52 0 13px,#af7c43 14px 16px); }
.age-measure-note { max-width: 620px; margin: .6rem auto 1rem; line-height: 1.4; }
.age-tank > i > b { position: absolute; right: 17px; top: -9px; font: 800 .8rem/1.1 Nunito, sans-serif; color: #243d41; white-space: nowrap; }
.age-cup { display: block; position: relative; overflow: hidden; width: 42px; height: 52px; margin: 0 auto .4rem; border: 3px solid #527f8b; border-top: 0; border-radius: 0 0 8px 8px; background: #e3f3ee; }
.age-cup i { position: absolute; bottom: 0; left: 0; right: 0; background: #68bece; }
.age-whole { display: grid; justify-items: center; margin: .6rem auto; gap: .4rem; }
.age-whole > div { display: grid; grid-template-columns: repeat(4,18px); gap: 1px; border: 2px solid #634a78; }
.age-whole i { width: 18px; height: 18px; background: #eee2b7; border: 1px solid #856f48; box-sizing: border-box; }
.age-whole figcaption { font-size: .9rem; text-align: center; }

/* Keep the reference tank beside its controls as withdrawal buttons accumulate. */
.age-measuring { flex-wrap: nowrap; align-items: flex-start; }
.age-measuring > .age-tank { flex: 0 0 130px; }
.age-measuring > div:last-child { flex: 1 1 0; min-width: 0; }
@media (max-width: 600px) {
  .age-measuring { gap: .8rem; }
  .age-measuring > .age-tank { flex-basis: 90px; width: 90px; }
  .age-measuring > div:last-child .age-palette { justify-content: flex-start; }
}

/* Keep the placed measurements and target silhouettes legible on small screens. */
.age-laid > .age-button { color: #302319; text-shadow: none; }
@media (max-width: 600px) {
  .age-match-targets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .age-match-targets > .age-button { min-width: 0; max-width: none; width: 100%; }
  .age-match-targets > .age-button:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - .3rem); }
}
