
/* Adventure Builder Adventure Passport — shared website/app */
.ab-passport{--p-bg:#111719;--p-panel:#192326;--p-card:#202c30;--p-line:#384a50;--p-text:#f7f9f9;--p-muted:#aebcc0;--p-orange:#f08a35;--p-green:#65c784;--p-gold:#d9b45f;margin:28px 0;border:1px solid var(--p-line);border-radius:22px;overflow:hidden;background:var(--p-bg);color:var(--p-text)}
.ab-passport *{box-sizing:border-box}.ab-passport button,.ab-passport input,.ab-passport select,.ab-passport textarea{font:inherit}
.ap-hero{padding:28px;background:linear-gradient(135deg,#16252a,#26373c);border-bottom:1px solid var(--p-line)}
.ap-hero .eyebrow{margin:0 0 7px;color:#ffc18c;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ap-hero h1,.ap-hero h2{margin:0;font-size:clamp(1.8rem,4vw,3rem)}.ap-hero p{max-width:820px;color:var(--p-muted);line-height:1.6}
.ap-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ap-tab,.ap-btn{min-height:42px;border:1px solid #43565c;border-radius:10px;background:#202d31;color:#fff;padding:8px 11px;cursor:pointer;font-weight:800}.ap-tab.is-active,.ap-btn.primary{background:var(--p-orange);border-color:var(--p-orange);color:#111}
.ap-body{padding:20px}.ap-view[hidden]{display:none!important}.ap-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.ap-card{border:1px solid var(--p-line);border-radius:14px;background:var(--p-card);padding:15px}.ap-card h3,.ap-card h4{margin:0 0 7px}.ap-card p{color:var(--p-muted);font-size:.82rem;line-height:1.5}
.ap-cover{min-height:380px;border-radius:18px;background:linear-gradient(145deg,#1b2529,#0e1416);border:1px solid #5a4933;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;box-shadow:inset 0 0 0 2px rgba(217,180,95,.12)}
.ap-cover-mark{font-size:4rem}.ap-cover h3{font-size:1.9rem}.ap-passport-no{font-family:Consolas,monospace;color:#e6d6b2}
.ap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.ap-stat{border:1px solid #394d53;border-radius:11px;background:#172125;padding:10px}.ap-stat small{display:block;color:var(--p-muted)}.ap-stat strong{display:block;font-size:1.3rem;margin-top:4px}
.ap-progress{height:12px;border-radius:999px;background:#2a383d;overflow:hidden}.ap-progress span{display:block;height:100%;background:linear-gradient(90deg,#f08a35,#d9b45f)}
.ap-book{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ap-page{min-height:330px;border-radius:16px;background:#f3ead7;color:#1a1a1a;padding:16px;box-shadow:0 5px 16px rgba(0,0,0,.18);position:relative}.ap-page h4{font-family:Georgia,serif;color:#241e18}.ap-stamps{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ap-stamp{min-height:105px;border:3px double #8b6f47;border-radius:50% 45% 48% 42%;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font-family:Georgia,serif;transform:rotate(-2deg);background:rgba(255,255,255,.35)}.ap-stamp:nth-child(even){transform:rotate(3deg)}
.ap-stamp small{display:block;color:#5e5143}.ap-empty{border:2px dashed #aa9678;color:#7b6b57;border-radius:14px;display:grid;place-items:center;min-height:105px;text-align:center;padding:8px}
.ap-form{display:grid;gap:9px}.ap-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ap-form label{display:grid;gap:5px;color:var(--p-muted);font-size:.76rem}.ap-form input,.ap-form select,.ap-form textarea{width:100%;border:1px solid #43555b;border-radius:9px;background:#0f171a;color:#fff;padding:9px 10px}.ap-form textarea{min-height:80px;resize:vertical}
.ap-collections{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ap-collection{border:1px solid #3a4d53;border-radius:12px;background:#172125;padding:12px}.ap-collection strong{display:block}.ap-collection small{color:var(--p-muted)}
.ap-challenge{border:1px solid #3a4d53;border-radius:12px;background:#172125;padding:12px}.ap-challenge-top{display:flex;justify-content:space-between;gap:10px}.ap-chip{display:inline-block;border:1px solid #4a5e64;border-radius:999px;padding:4px 7px;font-size:.67rem;color:#dce6e8}
.ap-rarity{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ap-rarity-item{border:1px solid #3a4d53;border-radius:11px;background:#172125;padding:10px;text-align:center}.ap-rarity-item span{display:block;font-size:1.35rem}
.ap-map{position:relative;min-height:280px;border:1px solid #3d5960;border-radius:14px;background:linear-gradient(135deg,#263b34,#183940 68%,#213e33);overflow:hidden}.ap-map:before{content:"";position:absolute;inset:14% 18%;border:2px dashed rgba(255,255,255,.24);border-radius:48%}.ap-pin{position:absolute;font-size:1.5rem}.ap-pin.p1{left:25%;top:39%}.ap-pin.p2{left:58%;top:60%}.ap-pin.p3{left:74%;top:31%}.ap-pin.p4{left:45%;top:24%}
.ap-safety{border-left:4px solid var(--p-orange);background:#2b241f;border-radius:8px;padding:11px 12px;color:#e7ded8;font-size:.73rem;line-height:1.5}
.ap-status{color:var(--p-muted);font-size:.74rem}.ap-story-list,.ap-logbook-list{display:grid;gap:9px}.ap-log{border:1px solid #35494f;border-radius:12px;background:#172226;padding:11px}
@media(max-width:900px){.ap-grid{grid-template-columns:1fr}.ap-stats{grid-template-columns:repeat(2,1fr)}.ap-collections{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ab-passport{border-radius:14px}.ap-hero,.ap-body{padding:14px}.ap-book,.ap-form-grid,.ap-collections,.ap-rarity{grid-template-columns:1fr}.ap-stamps{grid-template-columns:1fr 1fr}}
