.campaign-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0 0 1rem}.campaign-levels button{appearance:none;text-align:left;position:relative;font:inherit;color:#e8edce;background:#1f362b;border:1px solid #536647;border-radius:9px;padding:.9rem;cursor:pointer;min-height:105px}.campaign-levels button[aria-pressed=true]{background:#d5dfad;color:#24392c;border-color:#d5dfad}.campaign-levels button:disabled{opacity:.65;cursor:default}.campaign-levels button:focus-visible{outline:3px solid #f2c968;outline-offset:2px}.campaign-levels b{display:block;font:700 1rem Georgia,serif;margin:.3rem 0}.campaign-levels small{display:block;font-size:.67rem;line-height:1.45}.campaign-levels .level-number{font-size:.58rem;letter-spacing:.12em}.campaign-levels .level-stars{color:#e2b657;letter-spacing:.12em;margin-top:.35rem}.campaign-levels [aria-pressed=true] .level-stars{color:#765416}.campaign-levels .level-lock{font-size:.63rem;margin-top:.4rem}.campaign-levels.flight-levels{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-levels.flight-levels button{min-height:120px}.campaign-levels.flight-levels b{font-size:.92rem}.campaign-scorebar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.5rem 1rem;background:#e3ddc2;color:#304735;font-size:.75rem;border-top:1px solid #d0ceb7}.campaign-scorebar b{font-size:.94rem}.campaign-scorebar .score-main{margin-right:auto}.campaign-scorebar .points-change{color:#7c4f12}.campaign-notice{font-size:.8rem;color:#304c38;background:#f6e6ad;padding:.75rem 1rem;margin:0;border-bottom:1px solid #c0a779}.campaign-notice:empty{display:none}.campaign-result{font-size:.85rem!important;background:#e5dfc6;padding:.7rem;border-radius:6px}.campaign-journal{border:1px solid #60754e;border-radius:12px;margin:2rem 0;padding:1rem;background:#192b23;color:#ecedd7}.campaign-journal summary{cursor:pointer;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;list-style:none}.campaign-journal summary::-webkit-details-marker{display:none}.campaign-journal summary::after{content:'Open journal +';margin-left:auto;font-size:.73rem;color:#d8dbb1}.campaign-journal[open] summary::after{content:'Close journal −'}.campaign-journal summary strong{font:1.4rem Georgia,serif}.campaign-journal summary span{font-size:.72rem;color:#c2cba4}.campaign-journal>p{font-size:.8rem;color:#c2cba4}.campaign-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1rem}.campaign-badge{border:1px dashed #637451;border-radius:9px;padding:1rem;position:relative;background:#20372b}.campaign-badge.earned{border:1px solid #b29a54;background:#314634}.campaign-seal{display:grid;place-items:center;width:36px;height:36px;border:1px solid #8b9871;border-radius:50%;color:#b6c19a;font-size:1.3rem}.earned .campaign-seal{background:#e6bd63;color:#2e432e;border-color:#f9dda0}.campaign-badge h4{font:1rem Georgia,serif;color:#f0edce;margin:.7rem 0 .5rem}.campaign-badge p{font-size:.72rem;line-height:1.5;color:#c1cbaa;margin:0 0 .5rem}.campaign-badge small{font-size:.65rem;color:#e3c77c}.campaign-level-help{font-size:.76rem;color:#c1cbaa;margin:.4rem 0 1rem}.sky-score span{white-space:nowrap}
@media(max-width:800px){.campaign-levels.flight-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Shared expedition: the same warm paper, forest ink and brass seals as the games. */
.adventure-board{scroll-margin-top:1rem;margin:1rem 0 2rem;color:#233c31}.journey-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding:clamp(1.2rem,4vw,3rem);border-radius:16px;color:#fff2d4;background:#172e29}.journey-hero::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(13,35,31,.97),rgba(13,35,31,.78)),url('../explore/roost-atlas-1536.webp') center/cover}.journey-hero h2{font:clamp(2.4rem,5vw,4rem)/1.05 Georgia,serif;color:#fff2d4;margin:.5rem 0 1rem}.journey-hero h2 em{color:#e6bd63}.journey-hero p{max-width:45ch;line-height:1.6;font-size:.9rem}.journey-hero small{display:block;line-height:1.5;font-size:.75rem}.journey-hero [data-journey-next]{margin-top:1rem;color:#e0d7b9}.journey-tally{align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:1.5rem;border:1px solid #b8a36680;border-radius:50% 50% 12px 12px;background:#19372bba}.journey-bell{font:5rem/1 Georgia,serif;color:#ebc977}.journey-tally strong{font:1.6rem Georgia,serif}.journey-tally>span:not(.journey-bell){font-size:.82rem;color:#e0d7b9}.adventure-board progress{appearance:none;display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#597153}.adventure-board progress::-webkit-progress-bar{background:#597153}.adventure-board progress::-webkit-progress-value{background:#d0ac56;border-radius:8px}.adventure-board progress::-moz-progress-bar{background:#d0ac56}.journey-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.journey-card{position:relative;padding:1.4rem;background:#ebe6cc;border:1px solid #acb294;border-radius:12px;display:flex;align-items:flex-start;flex-direction:column}.journey-card.complete{background:#e0e6c9;border-color:#56734b}.journey-seal{display:grid;place-items:center;width:46px;height:46px;border:1px solid #7c8960;border-radius:50%;font:1.7rem Georgia,serif;color:#536441}.complete .journey-seal{background:#d3af5b;color:#233c31;box-shadow:0 0 0 4px #d3af5b30}.journey-card h3{font:1.3rem Georgia,serif;margin:.85rem 0 .4rem}.journey-card>p{font-size:.82rem;line-height:1.55;margin:.2rem 0 .8rem}.journey-card .journey-card-count{font-weight:700;font-size:.73rem;margin-top:auto}.journey-card-play{font:inherit;font-size:.85rem;font-weight:700;padding:.75rem 1rem;min-height:44px;background:#274837;color:#fff0ca;border:0;border-radius:7px;margin-top:1rem;cursor:pointer}.journey-card-play:hover{background:#385c45}.journey-card-play:focus-visible,.adventure-board summary:focus-visible{outline:3px solid #956513;outline-offset:3px}.journey-checklist{width:100%;margin-top:1rem;font-size:.75rem;line-height:1.5}.journey-checklist summary{cursor:pointer;padding:.3rem 0}.journey-checklist ol{padding-left:1.3rem}.journey-checklist li{padding:.35rem 0}.journey-checklist li span{display:block;font-size:.68rem;color:#476d3c;font-weight:700}.journey-homecoming{padding:2rem;text-align:center;background:#233e32;color:#fff2d4;border:3px double #d3af5b;border-radius:15px}.journey-homecoming h3{font:2.6rem/1.15 Georgia,serif;color:#fff2d4;margin:.6rem}.journey-homecoming p{max-width:58ch;margin:1rem auto;line-height:1.65}.journey-homecoming.bell-rung{animation:home-glow 1.6s ease-out}.journey-mastery{font-size:.8rem;line-height:1.6}.adventure-board [hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes home-glow{25%{box-shadow:0 0 45px #d3af5baa}100%{box-shadow:none}}
@media(max-width:850px){.journey-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-hero{gap:1rem}.journey-tally{padding:1.2rem}.journey-tally strong{font-size:1.2rem}}
@media(max-width:550px){.journey-hero{grid-template-columns:1fr}.journey-tally{border-radius:10px;display:grid;grid-template-columns:auto 1fr;text-align:left;padding:1rem}.journey-bell{grid-row:span 2;font-size:3rem;margin-right:.6rem}.journey-tally progress,.journey-tally small{grid-column:1/-1}.journey-cards{grid-template-columns:1fr}.journey-card{padding:1.1rem}.journey-homecoming{padding:1.3rem}.journey-homecoming h3{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.journey-homecoming.bell-rung{animation:none}}
@media(max-width:540px){.campaign-levels{grid-template-columns:1fr}.campaign-levels button{min-height:0;padding:.7rem .85rem}.campaign-levels b{font-size:.97rem}.campaign-levels.flight-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-levels.flight-levels button{min-height:110px}.campaign-scorebar{gap:.35rem .8rem;padding:.5rem .65rem;font-size:.67rem}.campaign-scorebar b{font-size:.8rem}.campaign-journal{padding:.85rem}.campaign-journal summary{gap:.5rem}.campaign-badge{padding:.75rem}.campaign-badge h4{font-size:.92rem}.campaign-result{font-size:.76rem!important}}

.journey-card-picture{width:100%;height:140px;object-fit:cover;border-radius:7px;margin-bottom:1rem;background:#d9d4ba}.journey-card-picture.portrait{object-fit:contain}.journey-mastery{color:#c9cfaa}.journey-bell svg{display:block;width:74px;height:74px}@media(max-width:550px){.journey-card-picture{height:150px}.journey-bell svg{width:50px;height:50px}}
.journey-card-best{margin-top:.6rem;font-size:.7rem;color:#435c3d;line-height:1.4}
