/* Three recognisable pieces make the collection's purpose visible at a glance. */
.inventory{position:relative;background:linear-gradient(150deg,#fff9e9 0%,#eef6ed 62%,#dceee6 100%);border:1px solid #c7d5bb;box-shadow:0 7px 25px #335d4410;padding:20px 16px}
.inventory h3{font-size:1.1rem;line-height:1.2;margin:0 0 .55rem;color:#224e4a;letter-spacing:-.025em}
.inventory #inventory-copy{font-size:.86rem;line-height:1.5;margin:0;color:#526c61}
.inventory-symbol[hidden]{display:none}
.inventory-list{display:block;margin-top:8px}
/* One real lens photograph is clipped into three independently collected sectors. */
.collection-lens{position:relative;isolation:isolate;max-width:190px;margin:6px auto 2px;aspect-ratio:1;filter:drop-shadow(0 5px 5px #4a3a252b)}
.collection-lens__sockets{position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle at 40% 30%,#626a5b,#2e3d36 80%);box-shadow:inset 0 5px 13px #111d19bd}
.collection-lens__piece{position:absolute;inset:0}
.collection-lens__piece--sun{clip-path:polygon(50% 50%,0 21.132%,0 0,100% 0,100% 21.132%)}
.collection-lens__piece--moon{clip-path:polygon(50% 50%,100% 21.132%,100% 100%,50% 100%)}
.collection-lens__piece--star{clip-path:polygon(50% 50%,50% 100%,0 100%,0 21.132%)}
.collection-lens__photo,.collection-lens__frame{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.collection-lens__photo{opacity:0}
.collection-lens__piece.is-found .collection-lens__photo{opacity:1}
.collection-lens__piece.is-new .collection-lens__photo{animation:lens-piece-fit .5s ease-out both}
.collection-lens__empty-symbol{position:absolute;transform:translate(-50%,-50%);color:#b2b4a0;font:clamp(16px,2.4vw,25px) Georgia,serif;text-shadow:0 1px 1px #111a16}
.collection-lens__piece--sun .collection-lens__empty-symbol{left:50%;top:24%}
.collection-lens__piece--moon .collection-lens__empty-symbol{left:70%;top:64%}
.collection-lens__piece--star .collection-lens__empty-symbol{left:30%;top:64%}
.collection-lens__piece.is-found .collection-lens__empty-symbol{display:none}
.collection-lens__frame{z-index:3;mask-image:radial-gradient(circle closest-side,transparent 88%,#000 90%);-webkit-mask-image:radial-gradient(circle closest-side,transparent 88%,#000 90%)}
.collection-lens__divider{position:absolute;z-index:2;left:calc(50% - 1px);top:5.5%;width:2px;height:44.5%;background:linear-gradient(90deg,#655633,#d1b776,#74623a);transform-origin:50% 100%;pointer-events:none}
.collection-lens__divider--1{transform:rotate(60deg)}
.collection-lens__divider--2{transform:rotate(180deg)}
.collection-lens__divider--3{transform:rotate(300deg)}
.inventory[data-collected="3"] .collection-lens{filter:drop-shadow(0 0 10px #e3b84c66)}
@keyframes lens-piece-fit{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
.inventory .collection-count{margin:0 0 14px;text-align:center;font-weight:800;font-size:.82rem;color:#476457}
.collection-slots{display:grid;gap:7px}
.collection-slots .piece-slot{display:flex;flex-direction:row;text-align:left;gap:9px;padding:9px;min-height:60px;border:1px solid #c9d9ca;background:#ffffff85;border-radius:12px}
.collection-slots .piece-slot--empty{color:#4b6b5e}
.collection-slots .piece-slot--found{background:#fffdf5;border-color:#cdb46e;box-shadow:0 2px 0 #ddc78044}
.collection-slots .piece-slot__symbol{width:35px;height:35px;border:1px solid #c9d9ca;background:#edf2e9;color:#688c7c;border-radius:50%;font-size:1.4rem}
.collection-slots .piece-slot--found.collection-slot--sun .piece-slot__symbol{background:#fff0ad;color:#966817;border-color:#e0c77e}
.collection-slots .piece-slot--found.collection-slot--moon .piece-slot__symbol{background:#d2eaf0;color:#326679;border-color:#a4cbd5}
.collection-slots .piece-slot--found.collection-slot--star .piece-slot__symbol{background:#f9dbc7;color:#935736;border-color:#dcbaa1}
.piece-slot__copy{display:grid;gap:2px;min-width:0}
.collection-slots .piece-slot__label{font-size:.85rem;line-height:1.25;overflow-wrap:anywhere}
.piece-slot__place{font-size:.72rem;line-height:1.3;color:#62776c}
.piece-slot--found .piece-slot__place{color:#276952;font-weight:700}


/* Motion stays inside the existing map; the SVG's station positions do not move. */
.map-water-lines path{animation:map-water-drift 5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.map-water-lines path:nth-child(2){animation-delay:-2s}
.map-water-lines path:nth-child(3){animation-delay:-4s}
.map-route-trail{animation:map-route-walk 12s linear infinite}
.map-beacon{fill:#fff5b7;opacity:.22;transform-origin:890px 43px;animation:map-beacon-glow 5s ease-in-out infinite}
.game[data-scene=groups] .map-pin-1 circle,.game[data-scene=missing] .map-pin-2 circle,.game[data-scene=sequence] .map-pin-3 circle,.game[data-scene=lighthouse] .map-pin-4 circle{animation:map-current-stop 2.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.game[data-scene=missing] .map-pin-1 circle,.game[data-scene=sequence] .map-pin-1 circle,.game[data-scene=sequence] .map-pin-2 circle,.game[data-scene=lighthouse] .map-pin-1 circle,.game[data-scene=lighthouse] .map-pin-2 circle,.game[data-scene=lighthouse] .map-pin-3 circle,.game[data-scene=finish] .map-pin circle{fill:#d2ebcf;stroke:#579c74}
@keyframes map-water-drift{from{transform:translateX(-4px);opacity:.55}to{transform:translateX(5px);opacity:1}}
@keyframes map-route-walk{to{stroke-dashoffset:-120}}
@keyframes map-current-stop{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 #e8b64600)}50%{transform:scale(1.1);filter:drop-shadow(0 0 5px #e8b64665)}}
@keyframes map-beacon-glow{0%,100%{opacity:.1;transform:rotate(-6deg)}50%{opacity:.42;transform:rotate(4deg)}}
@media(max-width:720px){.inventory{padding:18px;display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:14px;align-items:start}.inventory h3,.inventory #inventory-copy{grid-column:2}.inventory h3{margin-top:4px}.inventory-list{display:contents}.collection-lens{grid-column:1;grid-row:1 / span 3;width:120px;margin:0}.inventory .collection-count{grid-column:2;text-align:left;margin:8px 0 0}.collection-slots{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px}.collection-slots .piece-slot{flex-direction:column;text-align:center;padding:9px 5px;gap:6px}.collection-slots .piece-slot__label{font-size:.77rem}.piece-slot__place{font-size:.67rem}}
@media(max-width:360px){.inventory{grid-template-columns:92px minmax(0,1fr);column-gap:8px;padding:14px}.collection-lens{width:92px}.inventory h3{font-size:1rem}.inventory #inventory-copy{font-size:.78rem}.inventory .collection-count{font-size:.76rem}.collection-slots .piece-slot__label{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){.map-water-lines path,.map-route-trail,.map-beacon,.game .map-pin circle{animation:none!important}}

@media(prefers-reduced-motion:reduce){.collection-lens__piece.is-new .collection-lens__photo{animation:none}}
