
/* ASA Wild Circle progression — high contrast and responsive without disrupting existing pages. */
body.page-progress{background:#f1eee5;color:#1d3729}
.gp-hero{background:radial-gradient(ellipse at 76% 32%,#345e41 0%,transparent 49%),linear-gradient(115deg,#0e221a,#1b382a);color:#fff4df;position:relative;overflow:hidden;padding:92px 0 100px}
.gp-hero:after{content:"✺";position:absolute;right:-38px;top:-145px;font:450px/1 Georgia,serif;color:#e5c48b0c;pointer-events:none}
.gp-hero-inner{position:relative;z-index:1}
.gp-hero h1{max-width:1030px;font:400 clamp(54px,7vw,98px)/1.03 Georgia,serif;letter-spacing:-.055em;margin:12px 0 21px}
.gp-hero h1 em{color:#ffdc9d;font-style:italic}
.gp-hero p:not(.gp-eyebrow){max-width:700px;font-size:18px;line-height:1.75;color:#e9ecdf}
.gp-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#f5c98e;margin:0 0 13px;text-transform:uppercase}
.gp-eyebrow.gp-dark{color:#74522f}
.gp-main{padding:74px 0 100px}
.gp-loading{padding:28px 0;font-size:16px;color:#3d5945}
.gp-guest{padding:34px;border:1px solid #d8c9b3;background:#fffaf1;border-radius:18px;margin-bottom:55px}
.gp-guest h2,.gp-section-heading h2{font:400 clamp(37px,4.8vw,62px)/1.06 Georgia,serif;letter-spacing:-.045em;color:#1e392a;margin:5px 0 14px}
.gp-guest p,.gp-section-heading p:not(.gp-eyebrow){color:#4b5c4d;font-size:16px;line-height:1.7;max-width:750px}
.gp-heading{margin:0 0 28px}.gp-heading h2{font:400 clamp(32px,4vw,47px)/1.12 Georgia,serif;color:#253d2d;margin:9px 0}
.gp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.gp-level-grid{align-items:stretch}
.gp-panel{background:#fffbf3;border:1px solid #d8cbb5;border-radius:17px;padding:30px;box-shadow:0 11px 37px #1938280d;color:#253b2c}
.gp-panel h3{font:400 clamp(25px,3.1vw,35px)/1.12 Georgia,serif;letter-spacing:-.035em;color:#213b2b;margin:5px 0 12px}
.gp-panel p{color:#4b5d50;line-height:1.72}
.gp-panel .gp-muted{color:#526653}
.gp-panel.gp-level{background:linear-gradient(140deg,#17392b,#0e241b);color:#f8eedb;border-color:#547452}
.gp-level-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.gp-level-top strong{display:block;font:400 clamp(43px,5vw,72px)/1 Georgia,serif;color:#fff3d9;margin:6px 0}
.gp-level-top p{color:#d2dfce;margin:0;font-size:17px}
.gp-light-label{font-size:11px;letter-spacing:.17em;font-weight:800;color:#efc993}
.gp-level-sigil{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;color:#f4d097;border:1px solid #d4bb8b80;font:52px Georgia,serif;flex-shrink:0}
.gp-score-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:35px 0 12px}
.gp-score-row strong{font:400 30px Georgia,serif;color:#ffdea4}
.gp-score-row span{font-size:12px;color:#e1eadd}
.gp-meter{height:11px;background:#476551;border-radius:999px;overflow:hidden}
.gp-meter span{height:100%;width:0%;display:block;background:#ebca8c;border-radius:inherit;transition:width .25s}
.gp-level small{display:block;color:#d7e2d2;font-size:12px;line-height:1.6;margin-top:16px}
.gp-label{color:#73512c!important;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;margin:0 0 13px}
.gp-section-heading{margin:73px 0 27px}
.gp-field-label{display:block;font-size:13px;font-weight:800;color:#344d38;margin:18px 0 8px}
.gp-input{display:block;width:100%;min-height:46px;background:#fffefa;border:1px solid #8f9f90;border-radius:9px;padding:11px 13px;font:inherit;color:#20392c}
.gp-input:focus-visible,.gp-btn:focus-visible,.gp-textlink:focus-visible{outline:3px solid #ae7a41;outline-offset:3px}
textarea.gp-input{resize:vertical;min-height:85px}
.gp-muted{font-size:13px;color:#526653;line-height:1.65}
.gp-btn{border:1px solid #173b29;border-radius:999px;padding:13px 22px;background:#173b29;color:#fff4db;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;font-weight:800;font-size:13px;cursor:pointer;margin-top:12px;transition:background .15s}
.gp-btn:hover{background:#2c5a3e}
.gp-btn:disabled{opacity:.65;cursor:not-allowed}
.gp-btn.gp-btn-quiet{background:#f7ebd6;color:#254333;border-color:#788c73}
.gp-btn.gp-btn-quiet:hover{background:#e5d5b9}
.gp-welcome{padding:17px 30px}
.gp-checks{padding:0;margin:0;list-style:none}
.gp-check{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #dcd5c7}
.gp-check:last-child{border:0}
.gp-step-number{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border-radius:50%;background:#e6eddc;color:#244831;font-size:14px;font-weight:800}
.gp-step-number.done{background:#254b32;color:#fff4d9}
.gp-check-info{flex:1;min-width:0}
.gp-check-info strong{display:block;color:#243c2d;font-size:15px}
.gp-check-info span{display:block;color:#566a59;font-size:13px;line-height:1.5;margin-top:4px}
.gp-check-xp{font-size:12px;font-weight:800;color:#6a4a27;white-space:nowrap}
.gp-check .gp-btn{margin:0;min-height:38px;padding:8px 13px;font-size:12px}
.gp-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gp-badge{background:#fffbf3;border:1px solid #d8ccbb;padding:24px 21px;border-radius:15px;min-height:184px}
.gp-badge.locked{opacity:.66;background:#f2eee6}
.gp-badge-icon{font-size:29px;display:block;margin-bottom:10px;color:#855a33}
.gp-badge strong{font-family:Georgia,serif;font-size:22px;line-height:1.15;display:block;color:#263c2b}
.gp-badge p{font-size:12px;color:#536154;line-height:1.55}
.gp-badge-status{font-size:10px;font-weight:800;color:#416743;letter-spacing:.12em;text-transform:uppercase}
.gp-badge.locked .gp-badge-status{color:#626d62}
.gp-total-kudos{font:400 43px Georgia,serif!important;color:#284f37!important;margin:8px 0 20px}
.gp-received{display:grid;gap:11px}
.gp-kudos-item{padding:14px;background:#f3eee3;border-left:3px solid #b27f4a;border-radius:7px}
.gp-kudos-item strong{display:block;color:#254331}
.gp-kudos-item small{display:block;color:#576954;margin-top:4px}
.gp-kudos-item p{font-size:13px;margin:7px 0 0;overflow-wrap:anywhere}
.gp-oracle-heading{scroll-margin-top:120px}
.gp-oracle-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center;margin:15px 0 80px}
.gp-oracle-card{background:radial-gradient(circle at 48% 33%,#335a42,#12281e 72%);color:#f8efdb;padding:18px;border-radius:19px;box-shadow:0 22px 55px #1635262c;min-height:450px;position:relative;overflow:hidden}
.gp-oracle-card::after{content:"";position:absolute;inset:12px;border:1px solid #dbbd8461;border-radius:13px;pointer-events:none}
.gp-oracle-mark{position:absolute;top:-66px;right:-30px;color:#e6c89514;font:360px Georgia,serif;pointer-events:none}
.gp-oracle-card-inner{position:relative;z-index:1;padding:61px 36px 36px;max-width:550px}
.gp-oracle-strap{font-size:10px;letter-spacing:.19em;font-weight:800;color:#ffdda4!important}
.gp-oracle-card h3{font:italic 400 clamp(34px,4vw,52px)/1.11 Georgia,serif;letter-spacing:-.034em;color:#fff1d8;margin:30px 0 20px}
.gp-oracle-card p:not(.gp-oracle-strap){color:#e4e9dc;line-height:1.85;font-size:16px}
.gp-oracle-divider{color:#e5c58f;font-size:25px;margin:10px 0}
.gp-oracle-card #gp-oracle-prompt{color:#f4d79d;font-weight:700;font-size:16px}
.gp-oracle-aside{padding:34px 22px}
.gp-oracle-aside h3{font:400 clamp(34px,4vw,51px)/1.13 Georgia,serif;color:#233b2b;margin:10px 0 19px}
.gp-oracle-aside p:not(.gp-eyebrow){color:#4e6451;line-height:1.75;font-size:15px}
.gp-textlink{display:block;font-weight:800;font-size:13px;color:#2e583b;margin-top:21px;text-decoration:underline;text-underline-offset:4px}
.gp-privacy-note{border-top:1px solid #cdc8ba;padding:20px 0;font-size:12px;line-height:1.65;color:#516354}
.gp-privacy-note a{color:#315e3c;text-decoration:underline}
.gp-footer-caption{font-size:14px;max-width:350px;color:#d1dccc}
.page-progress .footer-nav a{color:#f2ead7}
@media(max-width:820px){.gp-hero{padding:68px 0 78px}.gp-grid,.gp-oracle-layout{grid-template-columns:1fr}.gp-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-main{padding:55px 0 65px}.gp-section-heading{margin-top:55px}.gp-oracle-aside{padding:18px 6px}}
@media(max-width:480px){.gp-hero h1{font-size:clamp(43px,11vw,61px)}.gp-hero p:not(.gp-eyebrow){font-size:16px}.gp-panel{padding:22px}.gp-welcome{padding:10px 20px}.gp-check{gap:11px;flex-wrap:wrap}.gp-check-info{flex-basis:calc(100% - 70px)}.gp-check .gp-btn{margin-left:48px}.gp-badge-grid{grid-template-columns:1fr}.gp-oracle-card-inner{padding:48px 20px 23px}.gp-oracle-card{min-height:390px}.gp-level-sigil{width:58px;height:58px;font-size:38px}.gp-score-row strong{font-size:25px}.gp-guest{padding:24px}}
@media(prefers-reduced-motion:reduce){.gp-meter span{transition:none}}

/* Optional quest journal — mobile-first, high contrast, no streak mechanics. */
.gp-quest-section{scroll-margin-top:110px}
.gp-quest-board-overview{background:linear-gradient(120deg,#173929,#284e37);color:#f7eddb;border:1px solid #55785c;border-radius:18px;padding:clamp(20px,3vw,32px);box-shadow:0 16px 36px #1a332024}
.gp-quest-overview-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gp-quest-overline{display:block;color:#eed19d;font-size:11px;font-weight:850;letter-spacing:.16em;margin-bottom:9px}
.gp-quest-big-count{display:block;font:400 clamp(39px,5vw,65px)/1.05 Georgia,serif;color:#fff4da;letter-spacing:-.045em}
.gp-quest-progress-caption{margin:9px 0 17px;color:#e2ebdb!important;font-size:14px;line-height:1.6}
.gp-quest-medallion{border:1px solid #bfa37399;border-radius:50%;display:grid;place-items:center;width:76px;height:76px;color:#f6d8a3;font:60px Georgia,serif;flex-shrink:0}
.gp-quest-total-bar{width:100%;height:13px;border-radius:99px;background:#547259;overflow:hidden}
.gp-quest-total-bar span{display:block;height:100%;border-radius:99px;background:#efc98b;transition:width .25s}
.gp-category-tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:21px}
.gp-category-track{background:#234a34;border:1px solid #66866b;border-radius:11px;color:#f8eddb;padding:13px;text-align:left;cursor:pointer;min-height:76px}
.gp-category-track:hover,.gp-category-track:focus-visible{background:#315a3f;border-color:#e2c58b}
.gp-category-track-top{display:flex;justify-content:space-between;gap:9px;font-size:12px;font-weight:700;line-height:1.3}
.gp-category-track-top span{color:#f9eedc}
.gp-category-track-top strong{color:#f7d99e}
.gp-category-progress{height:6px;border-radius:99px;background:#55745b;overflow:hidden;margin-top:11px}
.gp-category-progress span{height:100%;display:block;background:#f0c98b;border-radius:99px}
.gp-quest-note{font-size:12px!important;line-height:1.65!important;color:#e6edde!important;margin:20px 0 0}
.gp-quest-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:27px 0 14px}
.gp-quest-view{display:flex;background:#e0e7dc;border:1px solid #bdcbb8;border-radius:99px;padding:4px;gap:2px}
.gp-quest-tab{border:0;border-radius:99px;background:transparent;color:#37543e;font-size:12px;font-weight:800;cursor:pointer;min-height:39px;padding:10px 16px}
.gp-quest-tab.active{background:#254b34;color:#fff6e5;box-shadow:0 2px 8px #1b402320}
.gp-quest-search{min-height:45px;width:min(310px,100%);border-radius:99px;background:#fffaf1;border:1px solid #899b88;color:#233c2d;padding:11px 17px;font:inherit}
.gp-quest-search:focus-visible{outline:3px solid #b18a52;outline-offset:2px}
.gp-quest-categories{display:flex;gap:8px;flex-wrap:wrap}
.gp-quest-category{background:#e7e7db;border:1px solid #c0c7b7;color:#37543c;border-radius:99px;padding:10px 14px;font-size:12px;font-weight:800;cursor:pointer;min-height:41px}
.gp-quest-category:hover{background:#d7e6d2}
.gp-quest-category.active{background:#284e38;border-color:#284e38;color:#fff3e0}
.gp-quest-result-label{font-size:12px;color:#556855;margin:22px 0 11px}
.gp-quest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.gp-quest-card{display:flex;flex-direction:column;background:#fffbf2;border:1px solid #d0c8b6;border-radius:15px;padding:21px 22px;box-shadow:0 7px 23px #213e2b0b;min-height:235px}
.gp-quest-card.gp-quest-card-done{background:#f1f5e9;border-color:#93b596}
.gp-quest-card-head{display:flex;align-items:center;gap:10px}
.gp-quest-icon{font:27px/1 Georgia,serif;display:grid;place-items:center;background:#e7ecd8;border-radius:10px;width:42px;height:42px;color:#376444;flex-shrink:0}
.gp-quest-type{display:block;color:#56654f;font-size:10px;line-height:1.3;font-weight:750}
.gp-quest-points{margin-left:auto;font-size:11px;font-weight:850;color:#75512d;white-space:nowrap}
.gp-quest-card h3{font:400 25px/1.13 Georgia,serif;letter-spacing:-.025em;color:#1e3b2b;margin:19px 0 9px}
.gp-quest-description{font-size:13px;color:#4b5d4e;line-height:1.65;margin:0 0 9px}
.gp-quest-cat-name{font-size:11px;color:#60715b;font-weight:750;margin-top:auto}
.gp-quest-foot{margin-top:16px}
.gp-quest-claim,.gp-quest-link{display:inline-flex;align-items:center;justify-content:center;min-height:41px;border:1px solid #365d3e;border-radius:99px;background:#265238;color:#fff5e1;padding:10px 19px;text-decoration:none;font-weight:850;font-size:12px;cursor:pointer}
.gp-quest-claim:hover,.gp-quest-link:hover{background:#376c48}
.gp-quest-claim:disabled{opacity:.7;cursor:default}
.gp-quest-complete{display:inline-flex;border:1px solid #82aa8a;border-radius:99px;background:#dbe9d7;color:#1f5333;font-size:12px;font-weight:850;padding:9px 14px}
.gp-quest-empty{grid-column:1/-1;border:1px dashed #9dac98;border-radius:15px;padding:34px;background:#f7f4e9;color:#2d4a37}
.gp-quest-empty strong{font:400 26px Georgia,serif}
.gp-quest-empty p{color:#556950;font-size:14px}
.gp-badge-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.gp-badge-toolbar strong{color:#2f583b;font:400 25px Georgia,serif}
.gp-badge-toolbar label{font-size:12px;font-weight:800;color:#354e3a}
.gp-badge-toolbar select{border:1px solid #96a797;border-radius:8px;background:#fffaf0;color:#28442f;padding:10px 12px;margin-left:8px}
.gp-badge.gp-badge-earned{border-color:#a0b99b;background:linear-gradient(160deg,#f9f9ec,#eaf0e4)}
.gp-badge-mini-bar{height:7px;background:#dee5d9;border-radius:99px;overflow:hidden;margin-top:13px}
.gp-badge-mini-bar span{display:block;height:100%;background:#4f8660}
.gp-quest-card button:focus-visible,.gp-quest-card a:focus-visible,.gp-quest-category:focus-visible,.gp-quest-tab:focus-visible,.gp-category-track:focus-visible,.gp-badge-toolbar select:focus-visible{outline:3px solid #a87840;outline-offset:3px}
@media(max-width:870px){.gp-category-tracks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gp-category-tracks{grid-template-columns:1fr}.gp-quest-list{grid-template-columns:1fr}.gp-quest-controls{align-items:stretch}.gp-quest-search{width:100%}.gp-quest-view{justify-content:center}.gp-quest-tab{flex:1}.gp-badge-toolbar{align-items:flex-start}.gp-quest-board-overview{padding:20px}.gp-quest-card{min-height:0}.gp-quest-medallion{width:56px;height:56px;font-size:44px}}
@media(prefers-reduced-motion:reduce){.gp-quest-total-bar span{transition:none}}

.gp-quest-surprise-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.gp-quest-surprise,.gp-quest-showall{border:1px solid #eac88e;background:#f2d09c;color:#203d2a;min-height:44px;border-radius:99px;padding:11px 19px;font-weight:850;font-size:12px;cursor:pointer}
.gp-quest-surprise:hover{background:#ffe3b3}
.gp-quest-showall{background:transparent;color:#fff4dd;border-color:#9eb6a1}
.gp-quest-showall:hover{background:#345f42}
.gp-quest-surprise:focus-visible,.gp-quest-showall:focus-visible{outline:3px solid #fff0bc;outline-offset:3px}
@media(max-width:520px){.gp-quest-surprise-actions{display:grid}.gp-quest-surprise,.gp-quest-showall{width:100%}}