/* The campaign player is isolated from course and Arena presentation. */
.journal-wizard button.journal-photo-symbol{width:112px;height:112px;padding:15px;gap:4px;cursor:pointer;color:#816521}
.journal-photo-symbol svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.6}
.journal-indicator svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.journal-photo-symbol span{font-size:12px;font-weight:700}
.journal-photo-symbol:hover{background:#ead9a5;transform:translateY(-2px)}
.journal-photo-symbol:focus-visible{outline:3px solid #183c2c;outline-offset:4px}
.journal-wizard input[hidden]{display:none!important}
.trilha-player .journal-wizard{margin:0;border:1px solid #dfd4b9;box-shadow:none;padding:18px!important}
.trilha-player .journal-wizard h2{font-size:27px;margin-bottom:12px}
.trilha-player .journal-wizard fieldset{min-height:200px}
.trilha-player .journal-wizard footer{position:static;flex-wrap:wrap}
.trilha-player .journal-wizard footer button{flex:1;min-width:110px}
.trilha-player .journal-wizard input,.trilha-player .journal-wizard textarea{font-size:16px}
.mission-help ol{padding-left:22px}.mission-help li{padding:4px 0 8px}
/* Circular ancestral medallions: clip the matte, not the equipment or card art.
   Applied by source across popup, details, inventory, profile and collections. */
img[src*="assets/rewards/character-"]{clip-path:circle(49%);border-radius:50%;background:transparent!important;aspect-ratio:1;object-fit:contain!important;padding:0!important}
.rw-inventory-character img[src*="assets/rewards/character-"]{width:min(100%,210px)!important;height:auto!important}
.trilha-player{color:#183c2c;text-align:left;max-width:520px;margin:auto}
.trilha-player h2{font:clamp(25px,6vw,36px)/1.12 Georgia,serif;margin:10px 0 20px}
.trilha-steps{display:flex;gap:6px;margin-bottom:18px}
.trilha-steps button{flex:1;min-width:0;min-height:48px;padding:7px 2px;border:1px solid #d9cfb4;border-radius:12px;font-size:11px;background:transparent;color:#284d39}
.trilha-steps button span{display:block;font:17px Georgia,serif}
.trilha-steps button[aria-current=step]{background:#ead9a5;border-color:#ac924b}
.trilha-player .scene{position:relative;margin:8px 0;border-radius:18px;overflow:hidden;isolation:isolate}
.trilha-player .scene-photo{width:100%;height:100%;animation:photo-reveal .45s both}
.trilha-player .scene-call{position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;color:#fff8e5;padding:25px;pointer-events:none}
.trilha-player .scene-call strong{font:clamp(25px,6vw,34px)/1.15 Georgia,serif;text-shadow:0 2px 15px #000}
.trilha-player .scene-call small{display:block;margin-top:12px}
.trilha-player .lens{position:absolute;z-index:2;aspect-ratio:1;border-radius:50%}
.trilha-player .hotspot{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid #ffe59b;border-radius:50%;padding:0;min-width:44px;min-height:44px}
.trilha-player .hotspot::after{content:'';position:absolute;border-radius:50%;background:radial-gradient(#fff9c5,#f4cc6599,transparent);animation:trilha-breathe 2s infinite}
.trilha-player .connector{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.trilha-player .connector path{fill:none;stroke:#f3d980;stroke-dasharray:120;stroke-dashoffset:120}
.trilha-player .annotation{background:#123b2b;color:#fff5db;border-radius:15px}
.trilha-player .annotation h3{font:24px/1.15 Georgia,serif;color:#edcf82;margin:0 0 8px}
.trilha-player .annotation p{font-size:13px;line-height:1.6;margin:6px 0}
.xp-modal .trilha-player .annotation p{color:#fff5db}
.xp-modal .trilha-player .annotation .eyebrow{color:#d4bb75}
.trilha-player .context-tabs button{border:1px solid #cbbd96;border-radius:12px;background:#fff9ec;color:#163c2b}
.trilha-player .primary{background:linear-gradient(#f3dda0,#d9b961);border:1px solid #bfa25e;border-radius:14px;color:#173b2b;box-shadow:0 3px 0 #b49b5540}
.trilha-player .annotation .eyebrow{font-size:9px;color:#d4bb75}
.trilha-player .player-tools{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.trilha-player .player-tools button{font-size:12px;min-height:44px}
.trilha-player details{margin:18px 0;font-size:12px;line-height:1.6}
.trilha-player summary{cursor:pointer;min-height:44px;padding-top:10px}
.trilha-controls{display:flex;gap:10px;margin-top:20px}
.trilha-controls button{min-height:48px}
.trilha-controls .primary{flex:1}
.trilha-task{display:grid;grid-template-columns:90px 1fr;gap:16px;border:1px solid #dfd4b9;padding:16px;border-radius:18px;background:#faf5e8;margin-bottom:20px}
.trilha-task img{width:90px;height:120px;object-fit:cover;border-radius:12px}
.trilha-task h3{font:23px/1.2 Georgia,serif;margin:0 0 12px}
.trilha-task p{font-size:13px;line-height:1.6}
.trilha-player.paused .scene *{animation-play-state:paused!important}
@keyframes photo-reveal{from{opacity:.88}to{opacity:1}}
@keyframes lens-reveal{from{opacity:0}to{opacity:1}}
@keyframes call-away{to{opacity:0;visibility:hidden}}
@keyframes annotation-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes appear{from{opacity:0}to{opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes trilha-breathe{50%{opacity:.5;transform:scale(1.25)}}
@media(max-width:360px){.trilha-steps button{font-size:10px}.trilha-task{grid-template-columns:1fr}.trilha-task img{width:100%;height:180px;object-position:center 40%}.trilha-controls{gap:6px}.trilha-controls button{padding:10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.trilha-player *{animation:none!important;transition:none!important}.trilha-player .scene-call{display:none}.trilha-player .connector path{stroke-dashoffset:0}}
body[data-reduce-motion=true] .trilha-player .connector path{stroke-dashoffset:0}
