.adventure-shell{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text)}
.adventure-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px}.adventure-heading h3{margin:4px 0;font-family:var(--font-display);font-size:var(--type-title)}.adventure-heading p{margin:0;color:var(--muted)}.adventure-kicker{font-size:var(--type-meta);color:var(--muted)}.adventure-total{font:var(--type-title)/1 var(--font-number);white-space:nowrap}.adventure-total small{font:var(--type-control)/1 var(--font-ui);color:var(--muted)}
.adventure-map{position:relative;isolation:isolate;aspect-ratio:3/2;overflow:hidden;background:#263d38}.adventure-landscape{position:absolute;width:100%;height:100%;object-fit:fill;pointer-events:none}.adventure-map:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.adventure-mist{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 25%,#cadbdb77,transparent 48%);pointer-events:none;transition:opacity .7s}.adventure-mist.is-cleared{opacity:0}
.adventure-node{position:absolute!important;transform:translate(-50%,-50%);z-index:4;display:grid;place-items:center;min-width:44px!important;min-height:44px!important;width:44px;height:44px;padding:0!important;border:2px solid #eedfc0!important;border-radius:50%!important;color:#fff6df!important;background:#192522e8!important;box-shadow:0 3px 10px #10191970!important;font-size:22px!important}.adventure-node b{position:absolute;top:46px;left:50%;transform:translateX(-50%);max-width:140px;width:max-content;padding:3px 7px;border-radius:5px;background:#172220ed;color:#fff6df;font:600 var(--type-meta)/1.2 var(--font-ui);pointer-events:none}.adventure-node.is-locked{border-style:dashed!important;filter:saturate(.2)}.adventure-node.is-selected{outline:3px solid #fff3c7;outline-offset:4px}.adventure-node.is-objective{background:#754f24!important}.adventure-node:hover{filter:brightness(1.2)}
.adventure-guardian{position:absolute;left:71%;top:8%;width:17%;height:24%;object-fit:contain;filter:brightness(.8) drop-shadow(0 5px 4px #14221b88);pointer-events:none;transition:filter .5s}.adventure-guardian.is-awake{filter:brightness(1.15) drop-shadow(0 0 15px #eaca81)}
.adventure-person{position:absolute;z-index:5;transform:translate(-50%,-100%);width:70px;height:100px;pointer-events:none;filter:drop-shadow(0 3px 2px #13261bbb)}.adventure-person img{width:100%;height:100%;object-fit:contain}.adventure-person>span{position:absolute;top:0;left:50%;transform:translate(-50%,-100%);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#1b2629ef;color:#fff;padding:2px 5px;border-radius:6px;font:var(--type-meta)/1.2 var(--font-ui)}.adventure-person.is-me>span{background:#fff1ca;color:#302715}.adventure-person.is-walking img{animation:adventure-step .25s infinite alternate}.adventure-finish-mark{position:absolute;left:76%;top:37%;color:#fff0a6;font-size:45px;text-shadow:0 0 18px #ecc14b;pointer-events:none}
.adventure-detail{display:grid;gap:12px;padding:20px 24px;min-height:150px;scroll-margin:90px}.adventure-detail h4,.adventure-detail p{margin:0}.adventure-detail h4{font-size:var(--type-heading)}.adventure-detail>button{justify-self:start}.adventure-detail progress{width:100%;height:10px;accent-color:var(--accent)}.adventure-detail select{min-height:44px;width:100%;min-width:0;font-size:16px}.adventure-detail label{font-size:var(--type-control)}.adventure-detail .muted{font-size:var(--type-control)}.adventure-detail:focus{outline:none}.adventure-status:empty{display:none}.adventure-status{font-size:var(--type-control);color:var(--text)}.adventure-encounter{display:flex;gap:12px;justify-content:space-between;align-items:center}.adventure-encounter strong{font:var(--type-title)/1 var(--font-number);white-space:nowrap}.adventure-actions{display:flex;flex-wrap:wrap;gap:8px}.adventure-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.adventure-choices article{display:grid;gap:10px;align-content:start}.adventure-choices button{justify-self:start}
.adventure-footer{display:flex;justify-content:space-between;gap:12px;padding:0 24px 18px}.adventure-footer summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted)}.adventure-footer details{flex:1}.adventure-footer p{font-size:var(--type-control);max-width:55ch}.adventure-history{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}.adventure-history>span{width:100%;font-size:var(--type-control);color:var(--muted)}.adventure-today img{width:42px;height:42px;object-fit:contain}.party-world-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:var(--type-heading)}.party-world-details[open]>summary{margin-bottom:12px}.adventure-memento{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}.adventure-memento img{width:52px;height:64px;object-fit:contain}.adventure-memento p{margin:4px 0;color:var(--muted);font-size:var(--type-control)}
@keyframes adventure-step{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
.adventure-party-label{position:absolute;z-index:6;transform:translate(-50%,-100%);margin-top:-84px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#172220;color:#fff6df;padding:3px 6px;border-radius:6px;font:var(--type-meta)/1.2 var(--font-ui);pointer-events:none}
.shared-den-scene .adventure-den-trophy{position:absolute;left:38%;bottom:13%;width:14%;height:30%;object-fit:contain;filter:drop-shadow(0 3px 2px #39251970);pointer-events:none;z-index:5}
@media(max-width:600px){.adventure-party-label{margin-top:-45px;max-width:120px}}
@media(max-width:600px){.adventure-heading,.adventure-detail{padding:16px}.adventure-heading h3{font-size:var(--type-heading)}.adventure-heading p{font-size:var(--type-control)}.adventure-footer,.adventure-history{padding-inline:16px}.adventure-person{width:44px;height:66px}.adventure-person>span{max-width:70px}.adventure-node b{max-width:100px;white-space:normal;text-align:center;top:42px}.adventure-choices{grid-template-columns:1fr}.adventure-map{aspect-ratio:1.35}.adventure-guardian{width:20%;top:6%}.adventure-detail .btn{white-space:normal}.adventure-footer{align-items:flex-start}.adventure-map .adventure-node{min-width:42px!important;min-height:42px!important;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.adventure-shell *{animation:none!important;transition:none!important}}
