.opp-game{--opp-purple:#6541bb;--opp-gold:#f8cd64;--opp-mint:#a0edcf;font-size:15px;line-height:1.5;min-width:0}.opp-game h2,.opp-game h3,.opp-game p{margin:0}.opp-game h2{font-size:25px;line-height:1.2;letter-spacing:-.6px}.opp-eyebrow{display:block;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--muted)}
.opp-view-tabs{display:flex;gap:6px;margin:0 0 20px;flex-wrap:wrap}.opp-view-tabs .btn{border-radius:999px;padding:9px 18px}.opp-view-tabs .btn[aria-pressed=true]{background:var(--nav);border-color:var(--nav);color:#fff}.opp-list-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;flex-wrap:wrap}.opp-list-heading h2{margin:0;font-size:18px}.opp-list-heading span{color:var(--muted)}
.opp-scoreboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);gap:32px;padding:30px 34px;background:linear-gradient(120deg,#18243a,#302051);color:#fff;border-radius:22px;overflow:hidden}.opp-scoreboard .opp-eyebrow{color:#cbd1e8}.opp-scoreboard h2{font-size:30px;margin:6px 0 20px}.opp-booking-value{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:44px;letter-spacing:-1.5px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.opp-booking-value span{font-size:15px;font-weight:500;letter-spacing:0;color:#d9e1ed}.opp-booking-track,.opp-level-track{height:8px;overflow:hidden;border-radius:99px;background:#ffffff25;margin:16px 0 9px}.opp-booking-track>span,.opp-level-track>span{display:block;height:100%;background:var(--opp-mint);border-radius:99px;transition:width .5s ease}.opp-target-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#e1e5ef;font-size:13px}.opp-score-note{font-size:12px;color:#c7cfdf;margin-top:12px!important}.opp-text-button{display:inline-flex;align-items:center;gap:6px;padding:4px 0;color:#fff;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-weight:700}.opp-text-button svg{width:14px;height:14px}
.opp-level{display:flex;gap:20px;align-items:center;border-left:1px solid #ffffff26;padding-left:30px;min-width:0}.opp-level-medal{flex:0 0 94px;width:94px;height:106px;border-radius:50% 50% 42% 42%;background:linear-gradient(145deg,#fbe4a1,#e2a72e);box-shadow:0 7px 0 #b37a1c,0 15px 30px #0002;color:#4e320d;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-6deg)}.opp-level-medal span{font-size:24px;line-height:1}.opp-level-medal b{font-size:38px;line-height:1.1}.opp-level h3{font-size:21px;line-height:1.25;margin:5px 0 10px}.opp-level p{font-size:13px;color:#e1e5ef}.opp-level-track{height:5px}.opp-level-track>span{background:var(--opp-gold)}
.opp-week-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 8px 24px}.opp-week-strip>div:first-child{display:grid;gap:2px}.opp-week-strip>div:first-child>span{font-size:13px;color:var(--muted)}.opp-consistency{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}.opp-day-dots{display:flex;gap:6px}.opp-day-dots>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e5e8ee;color:#596271;font-size:11px;font-weight:700}.opp-day-dots>span.done{background:#ccecd9;color:#195c3a}.opp-day-dots>span.today{outline:2px solid var(--opp-purple);outline-offset:2px}
.opp-play-area{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start}.opp-missions{background:linear-gradient(155deg,#f0eafa 0%,#f8f9fc 72%);border-radius:22px;padding:26px 30px}.opp-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.opp-section-heading .opp-eyebrow{margin-bottom:5px;color:#5c4b85}.opp-daily-count{font-size:23px;font-weight:800;white-space:nowrap;text-align:center;color:var(--opp-purple);font-variant-numeric:tabular-nums}.opp-daily-count small{display:block;font-size:11px;letter-spacing:.03em;font-weight:600}.opp-helper{margin-top:10px!important;color:#637084;font-size:14px}.opp-mission-trail{list-style:none;padding:0;margin:26px 0 6px}.opp-mission{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:20px;padding:0 0 27px}.opp-mission:not(:last-child):before{content:"";position:absolute;top:52px;bottom:0;left:24px;border-left:3px dashed #d4c9e9}.opp-mission-node{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--opp-purple);color:#fff;font-weight:800;font-size:21px;box-shadow:0 4px 0 #462684,0 0 0 6px #e7dff4}.opp-mission:nth-child(2) .opp-mission-node{background:#356bab;box-shadow:0 4px 0 #214672,0 0 0 6px #e0eaf6}.opp-mission:nth-child(3) .opp-mission-node{background:#a16a14;box-shadow:0 4px 0 #79501a,0 0 0 6px #f4e8d3}.opp-mission.is-done .opp-mission-node{background:#24724d;box-shadow:0 4px 0 #184c35,0 0 0 6px #dceee4}.opp-mission-content{min-width:0;padding:0 0 4px}.opp-mission-content h3{font-size:19px;letter-spacing:-.3px;margin:4px 0 5px;overflow-wrap:anywhere}.opp-mission-content p{font-size:14px;line-height:1.55;color:#505e72;overflow-wrap:anywhere;white-space:pre-line}.opp-mission-type{font-size:11px;font-weight:800;letter-spacing:.06em;color:#644599}.opp-mission.is-done .opp-mission-type{color:#236847}.opp-mission-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:13px}.opp-mission-actions .btn{border-radius:999px;padding:8px 17px;min-height:40px;background:var(--opp-purple);border-color:var(--opp-purple)}.opp-mission-actions .btn:hover{background:#513298;border-color:#513298}.opp-quiet-button{border:0;background:transparent;padding:7px 0;font-size:13px;font-weight:650;color:#4b4265;display:inline-flex;align-items:center;gap:6px}.opp-quiet-button:hover{text-decoration:underline}.opp-quiet-button svg{width:15px;height:15px}.opp-estimate{font-size:12px;color:#536276}.opp-completed-label{font-size:13px;font-weight:700;color:#236847}.opp-mission-footer{border-top:1px solid #ded8e8;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;font-size:12px;color:#637084}.opp-clear-trail{padding:24px 0;display:grid;gap:8px;max-width:430px}.opp-clear-trail>span{color:var(--opp-purple);font-size:30px}.opp-clear-trail p{font-size:14px;color:#637084}
.opp-rewards{padding:16px 0;min-width:0}.opp-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;margin:22px 0}.opp-badge{display:flex;flex-direction:column;align-items:center;text-align:center}.opp-badge-mark{width:62px;height:66px;display:grid;place-items:center;background:#e2e5ec;color:#788293;clip-path:polygon(25% 2%,75% 2%,100% 25%,100% 75%,75% 98%,25% 98%,0 75%,0 25%);font-size:30px;margin-bottom:10px}.opp-badge.earned .opp-badge-mark{background:#f4d888;color:#76520b}.opp-badge.earned:nth-child(2) .opp-badge-mark{background:#d6c8f0;color:#563787}.opp-badge.earned:nth-child(3) .opp-badge-mark{background:#bce7d3;color:#225b42}.opp-badge.earned:nth-child(4) .opp-badge-mark{background:#c4d9f3;color:#255887}.opp-badge strong{font-size:13px}.opp-badge small{font-size:12px;color:#687384;margin-top:4px;line-height:1.4}.opp-rules{padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:#617084}.opp-rules summary{font-size:13px;font-weight:700;color:#44536a;cursor:pointer}.opp-rules p{margin-top:9px}.opp-wins{margin-top:28px;padding:0 6px 20px}.opp-wins h2{font-size:22px}.opp-win-total{font-size:13px;color:var(--muted)}.opp-win-list{margin-top:14px}.opp-win-list a{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--ink)}.opp-win-list a>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.opp-win-list strong,.opp-win-list small{display:block}.opp-win-list small{font-size:12px;color:var(--muted);margin-top:2px}.opp-win-star{font-size:24px;color:#ad770f}.opp-win-list b{font-size:19px;white-space:nowrap}
.opp-celebration{position:relative;display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:18px 22px;background:#dff3e7;color:#1b533c;border-radius:16px;overflow:hidden}.opp-celebration strong{font-size:20px}.opp-celebration p{margin:3px 0 0;font-size:14px}.opp-celebration-symbol{font-size:32px}.opp-confetti{position:absolute;inset:0;pointer-events:none}.opp-confetti i{position:absolute;left:calc(var(--i)*8% + 3%);width:7px;height:12px;background:#a984e3;top:-15px;animation:opp-confetti 1.5s calc(var(--i)*35ms) ease-out 1 both}.opp-confetti i:nth-child(3n){background:#d9a834}.opp-confetti i:nth-child(3n + 1){background:#488d6e}@keyframes opp-confetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(140px) rotate(230deg);opacity:0}}
.opp-game-unavailable{padding:18px;margin-bottom:16px;background:var(--soft);border-radius:12px}.opp-game-unavailable p{margin:5px 0 0}.opp-game :focus-visible{outline:3px solid #3574bd;outline-offset:4px}.opp-scoreboard :focus-visible{outline-color:var(--opp-gold)}#oppProgressForm .field,#oppGoalsForm .field{margin-bottom:16px}#oppProgressForm textarea{min-height:92px}#oppProgressForm input,#oppProgressForm select,#oppProgressForm textarea,#oppGoalsForm input,#oppGoalsForm select{font-size:16px}#oppGoalsForm small{color:var(--muted);margin-top:5px}#oppNextFields[hidden],#oppGamePanel[hidden],#oppListPanel[hidden]{display:none}
@media(max-width:1180px){.opp-scoreboard{grid-template-columns:minmax(0,1fr) 250px;padding:25px;gap:24px}.opp-level{padding-left:20px;gap:14px}.opp-level-medal{flex-basis:72px;width:72px;height:86px}.opp-level h3{font-size:18px}.opp-play-area{grid-template-columns:minmax(0,1fr) 215px;gap:20px}.opp-missions{padding:22px}.opp-scoreboard h2{font-size:27px}}
@media(max-width:800px){.opp-scoreboard{grid-template-columns:1fr}.opp-level{border-left:0;border-top:1px solid #ffffff26;padding:20px 0 0}.opp-level>div:last-child{flex:1}.opp-level-medal{height:75px;flex-basis:65px;width:65px}.opp-level-medal b{font-size:29px}.opp-level-track{max-width:300px}.opp-play-area{grid-template-columns:1fr}.opp-badges{grid-template-columns:repeat(4,minmax(0,1fr))}.opp-rewards{padding:6px}.opp-rules{max-width:640px}.opp-scoreboard h2{margin-bottom:16px}.opp-booking-value{font-size:38px}}
@media(max-width:480px){.opp-scoreboard{padding:22px 19px;border-radius:18px}.opp-scoreboard h2{font-size:26px}.opp-booking-value{font-size:36px}.opp-booking-value span{font-size:14px}.opp-week-strip{padding:18px 2px;gap:16px}.opp-consistency{gap:12px}.opp-missions{padding:20px 16px}.opp-game h2{font-size:23px}.opp-mission{grid-template-columns:38px minmax(0,1fr);gap:14px}.opp-mission-node{width:38px;height:38px;font-size:17px}.opp-mission:not(:last-child):before{left:18px;top:42px}.opp-mission-content h3{font-size:17px}.opp-mission-actions{gap:7px 12px}.opp-mission-actions .btn{min-height:44px}.opp-quiet-button{min-height:44px}.opp-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.opp-celebration{padding:16px}.opp-celebration strong{font-size:18px}.opp-win-list{font-size:14px}.opp-win-list b{font-size:17px}}
@media(prefers-reduced-motion:reduce){.opp-confetti{display:none}.opp-booking-track>span,.opp-level-track>span{transition:none}}
.opp-current-actions{display:grid;gap:10px;margin:20px 0}
.opp-action-card{border:1px solid #dcd5e8;background:#fff;border-radius:12px;overflow:hidden;min-width:0}
.opp-action-card>summary{position:relative;display:grid;gap:7px;padding:16px 42px 16px 16px;cursor:pointer;list-style:none}
.opp-action-card>summary::-webkit-details-marker{display:none}.opp-action-card>summary:after{content:'+';position:absolute;right:16px;top:20px;color:#6541bb;font-size:21px}.opp-action-card[open]>summary:after{content:'−'}
.opp-action-card>summary>strong{font-size:17px;line-height:1.35;overflow-wrap:anywhere}.opp-action-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.opp-overdue{font-size:11px;background:#fff1df;border-radius:5px;padding:2px 6px;color:#8a4700;font-weight:700}
.opp-action-next{font-size:14px;color:#43536a;line-height:1.45;overflow-wrap:anywhere}.opp-action-meta{font-size:12px;color:#637084;line-height:1.5}.opp-action-detail{padding:0 16px 16px;border-top:1px solid #eeeaf4}.opp-action-detail>p{font-size:13px;color:#59677a;padding-top:12px;overflow-wrap:anywhere}
.opp-daily-track,.opp-challenge-track{height:5px;overflow:hidden;background:#dfd8eb;border-radius:10px;margin:12px 0}.opp-daily-track>span,.opp-challenge-track>span{display:block;height:100%;background:#6541bb;border-radius:10px}.opp-target-met{font-size:13px;font-weight:650;color:#236847;padding-top:8px}
.opp-completed-history,.opp-prospect-starters,.opp-trophy-folder{border-top:1px solid #ded8e8;margin-top:18px;padding-top:12px;font-size:13px}.opp-completed-history>summary,.opp-prospect-starters>summary,.opp-trophy-folder>summary{font-weight:700;cursor:pointer;padding:8px 0;min-height:40px}.opp-completed-history article{display:flex;gap:14px;align-items:start;justify-content:space-between;padding:14px 0;border-top:1px solid #e7e1ef}.opp-completed-history article>div{min-width:0}.opp-completed-history strong,.opp-completed-history small{display:block;overflow-wrap:anywhere}.opp-completed-history small{color:#236847;margin:4px 0}.opp-completed-history p{white-space:pre-line;overflow-wrap:anywhere;color:#536277}.opp-prospect-starters p{color:#536277}.opp-starter-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}.opp-starter-buttons .btn{font-size:12px}
.opp-challenge-intro{font-size:12px;color:#637084;margin-top:8px!important}.opp-challenges{display:grid;gap:10px;margin:18px 0 10px}.opp-challenge{padding:14px;border:1px solid #dce2eb;border-radius:12px;background:#fff}.opp-challenge>div:first-child{display:flex;gap:10px;justify-content:space-between;align-items:baseline}.opp-challenge strong{font-size:13px}.opp-challenge>div>span{font-size:15px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}.opp-challenge.is-complete{border-color:#a5d4bd}.opp-challenge.is-complete .opp-challenge-track>span{background:#24724d}.opp-challenge details{font-size:12px;color:#637084}.opp-challenge summary{cursor:pointer}.opp-challenge details p{margin-top:8px;line-height:1.5}.opp-challenge-note{font-size:12px;color:#637084;margin-top:10px!important}
@media(max-width:800px){.opp-challenges{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-rewards>.opp-eyebrow{margin-top:12px}}
@media(max-width:480px){.opp-action-card>summary{padding:15px 36px 15px 13px}.opp-action-card>summary>strong{font-size:16px}.opp-action-card>summary:after{right:13px}.opp-action-detail{padding:0 13px 13px}.opp-challenges{grid-template-columns:1fr}.opp-starter-buttons .btn{min-height:44px;font-size:13px}.opp-daily-count{font-size:21px}}
