/* Shared engine integration; the illustration and main palette are in adventure.css. */
.board-adventure{position:relative;overflow:hidden;isolation:isolate}
.adventure-backdrop{position:absolute;inset:0;z-index:-2}
.adventure-character{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);font-size:150px;opacity:.16;pointer-events:none;z-index:-1}
.board-adventure .drop-zone{background:#fffdf2d9;border-width:2px}
.board-adventure .adventure-piece{width:19%;max-width:21%;min-height:76px}
.board-adventure .adventure-choice{width:44%;max-width:44%;min-height:78px;padding:8px 12px}
.board-adventure .adventure-choice .piece-icon{display:none}
.board-adventure .adventure-choice .piece-label{font-size:15px;line-height:1.25}
.board-adventure .adventure-tool{width:19%;max-width:22%;min-height:76px}
.adventure-mark{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:30%;font-size:40px;background:#bc9b7355;border:2px dashed #957749;pointer-events:none;transition:opacity .15s,transform .15s}
.adventure-mark.done{opacity:.22;transform:translate(-50%,-50%) scale(.7);border-color:#598267;background:#abd29a}
.adventure-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.adventure-path polyline{fill:none;stroke:#ddc49f;stroke-width:9;stroke-linejoin:round;stroke-linecap:round}
.adventure-checkpoint{position:absolute;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fffcf1;border:3px dashed #8c9d84;font-size:22px;pointer-events:none}
.adventure-checkpoint.done{background:#d7e9c6;border-style:solid}
.adventure-receipt{display:inline-block;font-size:24px;margin:2px;pointer-events:none}
.board-adventure .pizza-base{border-radius:50%;background:radial-gradient(ellipse,#f2cb62 0 54%,#c76742 56% 70%,#dca86c 72%);border:7px solid #d9a567;color:#66442c}
.pizza-base>.zone-icon{visibility:hidden;height:26px}.pizza-base .adventure-receipt{position:absolute;left:calc(20% + var(--n)*17%);top:30%;font-size:36px}
.adventure-scattered .adventure-character{left:36%;opacity:.36}
.board-adventure[data-theme=lake]{background:repeating-linear-gradient(168deg,#d9edf0 0 32px,#c5e1e7 32px 35px)}
.board-adventure[data-theme=barber]{background:repeating-linear-gradient(90deg,#e7d7bd 0 80px,#eee1c9 80px 160px)}
@media(max-width:600px){.board-adventure .adventure-choice{min-height:74px;padding:6px}.board-adventure .adventure-choice .piece-label{font-size:12px}.board-adventure .adventure-piece{min-width:0;padding:6px 3px}.board-adventure .piece-label{font-size:11px}.adventure-mark{width:50px;height:50px;font-size:32px}}
/* Sixteen stops retain full-size hit targets; labels wrap only when necessary. */
.town-map{--stop-size:48px;--stop-label:11px}.map-stop strong{white-space:normal;max-width:112px;text-align:center;line-height:1.1}
@media(max-width:560px){.town-map{--stop-size:40px;--stop-label:10px}.map-stop strong{max-width:76px}.map-stop{min-height:48px}}
/* Make the object being worked on readable at a glance in the close-up. */
.board-adventure .drop-zone .zone-icon{font-size:clamp(44px,6vw,64px);line-height:1}
.board-adventure .drop-zone .zone-label{font-size:14px;line-height:1.2}
.board-adventure .pizza-base>.zone-icon{font-size:26px}
