/* Illustrated travel and focused character sheets. */
.map-landmark{display:block;width:100%;aspect-ratio:1;background:url('/assets/art/map-places.webp') var(--place-x) var(--place-y)/400% 400% no-repeat;filter:drop-shadow(0 5px 3px #32220c55);pointer-events:none}
#travel-map{isolation:isolate;padding:32px 4px 50px;background-size:100% 100%;box-shadow:0 10px 35px #0008,inset 0 0 55px #5e3b2288}
#travel-map .map-layer{height:153px;position:relative;z-index:2;gap:3px}
#travel-map .node{position:relative;width:112px;max-width:25%;height:126px;padding:0 1px 6px;border:0;border-radius:0;background:none;box-shadow:none;outline:none;overflow:visible;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;transition:filter .2s,opacity .2s}
#travel-map .node .map-landmark{max-width:105px;flex-shrink:0;transition:filter .2s,transform .2s}
#travel-map .node-label{font:600 .65rem/1.2 Georgia,serif;padding:3px 5px;border-radius:3px;color:#34261b;background:#e6d0a2e8;box-shadow:0 1px 2px #704c3033;max-width:112px;position:relative;z-index:2;min-height:20px}
#travel-map .node.reachable .map-landmark{filter:drop-shadow(0 3px 3px #35271066) drop-shadow(0 0 4px #f7e8bc)}
#travel-map .node.selected .map-landmark{filter:drop-shadow(0 4px 3px #31220b88) drop-shadow(0 0 7px #fff2b2);transform:translateY(-4px) scale(1.07)}
#travel-map .node.selected .node-label{background:#fff0be;box-shadow:0 0 0 1px #896330,0 2px 8px #60422455}
#travel-map .node:focus-visible .node-label{outline:2px solid #58381d;outline-offset:3px}
#travel-map .node:disabled{opacity:.78}#travel-map .node.closed{opacity:.35;filter:sepia(.7)}#travel-map .node.visited{opacity:.72}#travel-map .node.current{opacity:1}#travel-map .node .vote-count{position:absolute;top:2px;right:5px;z-index:3}
.travel-lantern{position:absolute;left:50%;top:0;transform:translateX(-50%);font-size:28px;color:#fff2aa;text-shadow:0 0 4px #663708,0 0 15px #ad6c0d;animation:lantern-breathe 2s ease-in-out infinite}
.map-svg{z-index:1!important;pointer-events:none}.map-svg .trail{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-svg .trail-shadow{stroke:#513a2160;stroke-width:11}.map-svg .trail-earth{stroke:#a67e47;stroke-width:8}.map-svg .trail-center{stroke:#d4b779;stroke-width:5;stroke-dasharray:none}.map-svg .trail-stones{stroke:#7e613650;stroke-width:2;stroke-dasharray:1 7}.map-svg .trail-next .trail-center{stroke:#fff0b7}.map-svg .trail-next .trail-earth{stroke:#8d6030}.map-svg .trail-closed{opacity:.2}.map-svg .trail-walked .trail-center{stroke:#906c42}.map-svg .trail-future{opacity:.65}
.hero-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 18px;padding:5px;border:1px solid #675a3a;background:#111e19;border-radius:12px}.hero-tabs button{padding:10px 4px;background:transparent;border-color:transparent;font-size:.87rem}.hero-tabs button.active{background:#bba46c;color:#172018;border-color:#ddc48d;font-weight:700}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0}.hero-stats .stat{padding:14px 5px}.hero-stats .stat span{font-size:.72rem}.hero-stats .stat b{font-size:1.3rem}
.slot-filter{border-top:1px solid #8b795244;padding-top:18px;margin-top:18px;scroll-margin-bottom:90px}.slot-filter h3{margin:0}.gear-slot.slot-selected{border-color:#efce86;box-shadow:0 0 12px #ba974f44}.slot-filter+.bag-grid{margin-top:12px}.slot-filter .text-button{font-size:.74rem}
.more-stack>details:last-child{margin-bottom:0}.how-to-play summary{font:1.2rem Georgia;color:#e6cf9c;cursor:pointer}.how-to-play h3{margin-top:20px}.how-to-play p{font-size:.9rem}.catalog-link{display:block;margin-top:20px;text-align:center;font-size:.85rem}
.lab-portraits{display:flex;gap:8px;flex-wrap:wrap}.lab-portraits .portrait{width:42px;border-radius:50%}.lab-party p{margin:14px 0 0}.lab-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-game{display:flex;align-items:center;gap:12px;padding:12px;text-align:left;min-height:108px;background:linear-gradient(130deg,#273529,#14221d)}.lab-game .map-landmark{width:80px;flex:0 0 80px}.lab-game strong{display:block;font:1.1rem/1.2 Georgia;margin-top:7px}.lab-game small{font-size:.68rem}.lab-game:disabled{opacity:.8}.lab-footer{margin:24px 0}.lab-ribbon{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid #85734c;background:#27322a;padding:8px 12px;margin-bottom:20px;border-radius:9px}.lab-ribbon>span{font-size:.65rem;letter-spacing:.08em;color:#e5d2a6}.lab-ribbon button{min-height:36px;padding:7px;font-size:.75rem}
@keyframes lantern-breathe{50%{filter:brightness(1.3);text-shadow:0 0 7px #663708,0 0 20px #c49019}}
@media(max-width:650px){#travel-map .map-layer{height:132px}#travel-map .node{height:113px}.lab-games{gap:10px}.lab-game{display:block;text-align:center;padding:9px}.lab-game .map-landmark{width:85px;margin:auto}.lab-game strong{font-size:1rem}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.reduce-motion .travel-lantern{animation:none}@media(prefers-reduced-motion:reduce){.travel-lantern{animation:none}}
#travel-map .node-label{flex-shrink:0;min-height:28px;display:grid;place-items:center}#travel-map .node .map-landmark{width:90px}@media(max-width:650px){#travel-map .node .map-landmark{width:80px}}
