:root{--journey-ink:var(--ink,#233047);--journey-muted:var(--muted,#728095);--journey-paper:var(--paper,#f7f8fc);--journey-blue:var(--b,#426bc2);--journey-gold:var(--gold-2,#e2b663)}
.badge-art{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:50%;background:var(--sticker-bg,#cfd8e0);box-shadow:0 6px 16px rgba(20,40,45,.22),inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(20,40,45,.08);flex-shrink:0;position:relative}
.badge-art svg{width:58%;height:58%;position:relative;z-index:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#8190a3}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 5%;font-size:12px;background:#f2eee4;color:#675632;border-bottom:1px solid #e8dfcb}.demo-banner b{font-size:12px;letter-spacing:1px;margin-right:12px}.demo-banner button{border:0;background:transparent;color:#685327;text-decoration:underline;text-underline-offset:4px;padding:6px 10px;font-size:12px;cursor:pointer}
.demo-login{border:0;border-radius:var(--r-pill,999px);background:linear-gradient(135deg,var(--gold-2,#e6c887),var(--gold,#c79a49));color:#2c2210;padding:12px 22px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.28);white-space:nowrap;transition:transform .15s,filter .15s}.demo-login:hover{filter:brightness(1.06);transform:translateY(-1px)}
.journey-wrap{max-width:1240px;padding:24px 32px 48px;margin:auto;color:var(--journey-ink)}.journey-topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--journey-muted);margin-bottom:22px}.journey-topline .plain{color:#718099;font-size:12px}.journey-topline>span>span{margin:0 10px;color:#ba9453}.journey-profile{display:flex;align-items:center;gap:18px;margin-bottom:30px}.journey-avatar{display:grid;place-items:center;background:#ebdfc6;color:#7b6036;border:4px solid #fff;box-shadow:0 2px 8px #2330470c;width:66px;height:66px;border-radius:22px;font-size:26px;font-weight:800}.journey-name{flex:1}.journey-name small{color:#7f8898;font-size:11px}.journey-name h2{font-size:25px;letter-spacing:-.5px;margin:5px 0 0}.journey-name h2 span{font-size:17px;font-weight:500;margin-left:8px;color:#636e80}.journey-stat{min-width:110px;padding-left:24px;border-left:1px solid #dce1e9}.journey-stat b{font-size:28px;display:block;color:#253858;font-variant-numeric:tabular-nums;line-height:1.2}.journey-stat small{font-size:12px;color:#8390a3;display:block;margin-top:7px}.journey-stat em{font-size:11px;font-style:normal;color:#8790a0;margin-left:6px}.journey-tabs{display:flex;overflow:auto;gap:4px;margin-bottom:18px;padding:4px;background:#edf0f6;border:1px solid #e4e8ef;border-radius:14px;scrollbar-width:thin}.journey-tabs button{border:0;background:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;gap:7px;padding:12px 13px;font-size:12px;font-weight:700;color:#78839a;cursor:pointer;border-radius:10px;flex:1}.journey-tabs button span{font-size:18px}.journey-tabs button small{font-size:11.5px;font-weight:500;opacity:.75}.journey-tabs button.selected{background:#fff;color:#304469;box-shadow:0 2px 7px #273f6610}.journey-tabs button:hover{color:#2c4e84}
.journey-spotlight{position:relative;display:grid;grid-template-columns:1.12fr 1fr;min-height:405px;background:radial-gradient(ellipse at 82% 30%,var(--navy-2,#374c7b) 0,transparent 54%),linear-gradient(135deg,var(--navy-3,#172339),var(--navy,#243451));color:white;border-radius:var(--r-xl,24px);overflow:hidden;box-shadow:0 15px 35px #15244114;border:1px solid rgba(230,200,135,.18)}.spotlight-copy{padding:35px 20px 34px 40px;position:relative;z-index:1}.journey-kicker{color:#d2b784;font-size:12px;letter-spacing:1px}.journey-kicker>span{letter-spacing:0;font-size:11.5px;border:1px solid #ffffff27;border-radius:4px;color:#c0c9da;padding:3px 6px;margin-left:10px}.spotlight-copy h1{font-size:39px;line-height:1.3;letter-spacing:1px;margin:19px 0 8px;color:#fff;font-weight:800}.spotlight-copy>p{color:#c3cede;font-size:13px;line-height:1.8;margin:0}.journey-level{display:inline-flex;font-size:12px;color:#e6cf9b;background:#ffffff0b;border:1px solid #ffffff14;border-radius:6px;padding:7px 10px;margin-top:20px}.journey-meter-label{display:flex;align-items:baseline;justify-content:space-between;max-width:385px;margin-top:23px;font-size:12px;color:#c5cfdf}.journey-meter-label strong{font-size:23px;color:white;margin:0 5px}.journey-meter-label small{font-size:12px;color:#b4c0d3;font-variant-numeric:tabular-nums}.journey-meter{height:9px;background:#ffffff18;border:1px solid #ffffff08;border-radius:20px;margin:9px 0 10px;max-width:385px;overflow:hidden}.journey-meter i{display:block;height:100%;background:linear-gradient(90deg,#c49d57,#ffe2a4);border-radius:20px;box-shadow:0 0 12px #ffe09c80;transition:width .7s ease}.journey-next{font-size:12px;color:#c2ccdf;line-height:1.7}.journey-next b{color:#ffe2a6}.demo-challenge{margin-top:24px;padding:12px 17px;border-radius:9px;border:1px solid #e9c884;background:#f8dea5;color:#25344f;cursor:pointer;font-weight:800;font-size:12px;display:flex;gap:26px;align-items:center}.demo-challenge:hover{background:#ffecc5}.demo-challenge:disabled{opacity:.5;cursor:wait}.demo-challenge-note{color:#a4b2c8;font-size:11.5px;display:block;margin-top:8px}.spotlight-copy .journey-encourage,.spotlight-copy .journey-paused{font-size:11px;margin-top:18px;color:#a6b6cf}.spotlight-badge{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 32px 24px}.spotlight-orbit{position:absolute;width:290px;height:290px;top:20px;border:1px solid #cedfff12;border-radius:50%;box-shadow:0 0 0 32px #c3d4ff03,0 0 0 64px #c3d4ff03;background:radial-gradient(circle,#b9d3ff16,transparent 65%);pointer-events:none}.hero-badge-button{border:0;background:transparent;padding:0;width:268px;max-width:100%;position:relative;cursor:pointer;filter:drop-shadow(0 15px 20px #030c1d55);transition:transform .35s;animation:badgeFloat 6s ease-in-out infinite}.hero-badge-button:hover{transform:scale(1.04)}.unearned-hero{filter:saturate(.7);opacity:.8}.spotlight-caption{position:relative;text-align:center;margin-top:4px}.spotlight-caption span{display:block;font-size:11.5px;letter-spacing:2px;color:#a4b5d3;margin-bottom:7px}.spotlight-caption b{font-size:12px;font-weight:500;letter-spacing:.5px;color:#dde6f3}.next-badge-mini{display:flex;align-items:center;gap:8px;background:#14223a66;border:1px solid #b2c6ef1c;border-radius:10px;padding:3px 18px 3px 8px;margin-top:15px}.next-badge-mini .badge-art{width:42px}.next-badge-mini span:not(.badge-art){font-size:11.5px;color:#99aac7;line-height:1.7}.next-badge-mini b{color:#e2e9f4;font-size:12px;font-weight:500}
.journey-collection{margin-top:36px}.collection-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}.collection-heading h2{font-size:21px;margin:6px 0;color:#263750}.collection-heading p{font-size:12px;color:#8290a3;margin:0;line-height:1.8}.collection-count{font-size:27px;color:#394b6b;font-weight:700;white-space:nowrap}.collection-count small{font-size:12px;color:#97a1b0;font-weight:400}.badge-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.badge-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:32px 14px 16px;background:#fff;border:1px solid #e3e7ef;border-radius:15px;cursor:pointer;min-width:0;box-shadow:0 2px 5px #2a416603;transition:transform .2s,border-color .2s,box-shadow .2s;color:#364660}.badge-card:hover{transform:translateY(-4px);box-shadow:0 9px 24px #243c6310;border-color:#afbdd5}.badge-card .tier-number{position:absolute;top:12px;left:12px;color:#b0bacb;font-size:12px;font-variant-numeric:tabular-nums}.badge-status{position:absolute;top:12px;right:10px;font-size:11.5px;color:#9ca8b8}.owned .badge-status{color:#a48a57}.badge-card .badge-art{width:100%;max-width:156px;margin:3px 0 12px;transition:filter .25s,opacity .25s}.badge-card>b{font-size:12px;font-weight:800;line-height:1.6}.badge-card>small{font-size:12px;color:#91a0b4;margin-top:5px}.card-distance{font-size:11.5px;color:#a3adbc;margin-top:14px}.badge-card.owned{background:linear-gradient(160deg,#fff,#fdfaf4);border-color:#e5ded1}.badge-card.up-next{border:1px dashed #a4b5d6;background:#f0f4fb}.up-next .badge-status,.up-next .card-distance{color:#5b77ac}.badge-card.locked{background:#f3f5f9;border-color:#e8ebf1;box-shadow:none}.locked .badge-art{filter:grayscale(1);opacity:.3}.up-next .badge-art{opacity:.65;filter:saturate(.6)}.badge-card.locked:hover .badge-art,.badge-card.up-next:hover .badge-art{filter:none;opacity:1}.locked>b{color:#929eaf}.track-explainer{font-size:11px;color:#8792a4;margin-top:18px;line-height:1.8}.track-explainer summary{cursor:pointer}.track-explainer p{max-width:850px}.journey-history{background:#fff;border:1px solid #e5e9ef;border-radius:18px;padding:26px;margin-top:28px}.journey-history .collection-heading h2{font-size:18px}.journey-timeline{display:flex;flex-direction:column}.journey-event{display:flex;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid #eff1f5}.journey-event:last-child{border:0}.event-dot{width:30px;height:30px;display:grid;place-items:center;background:#f0f4f9;border-radius:10px;color:#6f88b1;font-size:15px;flex-shrink:0}.journey-event>div{flex:1}.journey-event small{display:block;color:#8e9bad;font-size:12px;margin-bottom:5px}.journey-event b{font-size:12px;font-weight:500;line-height:1.7}.journey-event>strong{font-size:12px;font-weight:700;color:#5b78a9;white-space:nowrap}.journey-event.void{opacity:.55}.journey-footnote{font-size:12px;color:#939daf;text-align:center;margin:28px 0;line-height:1.9}.journey-empty{text-align:center;padding:30px;color:#8c99ad;font-size:13px}.journey-loading{display:flex;align-items:center;justify-content:center;gap:15px;min-height:40vh;color:#8592a6}.journey-loading .spinner{width:25px;height:25px}.badge-detail{text-align:center;padding:8px 15px 20px}.badge-detail .badge-art{width:240px;margin:auto}.badge-detail>b{display:block;font-size:15px;margin-top:15px}.badge-detail p{font-size:13px;color:#7b879b;line-height:1.8}.badge-detail button{margin-top:12px}
.celebrating{overflow:hidden}.achievement-celebration{position:fixed;inset:0;z-index:10000;background:radial-gradient(ellipse at 50% 43%,#3d4f7d 0,var(--navy,#2b3154) 38%,var(--navy-3,#141d34) 85%);color:#fff;display:grid;place-items:center;overflow:auto;animation:celebrationFade .45s ease}.celebration-content{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;text-align:center;padding:36px 20px 30px;width:min(100%,650px);margin:auto}.celebration-eyebrow{font-size:12px;color:#f0d18c;letter-spacing:3px}.celebration-intro{font-size:16px;color:#ede9ff;letter-spacing:2px;margin:15px 0 0}.celebration-art{width:310px;max-width:70vw;filter:drop-shadow(0 0 34px #ffd79550);margin:12px 0 4px;animation:badgeReveal 1s cubic-bezier(.18,.7,.2,1.25) both}.celebration-category{font-size:11px;letter-spacing:2px;color:#d2c8ee}.celebration-content h2{color:#fff5d7;font-size:40px;letter-spacing:3px;margin:12px 0 7px;text-shadow:0 2px 24px #ffde9270}.celebration-threshold{font-size:15px;letter-spacing:1px;margin:4px 0;color:#e2deed}.celebration-note{font-size:12px;color:#acb2cd;margin:14px 0 24px}.celebration-continue{background:linear-gradient(110deg,#edc983,#ffe7b6);border:1px solid #ffdf94;border-radius:11px;color:#343148;font-size:15px;font-weight:800;padding:15px 34px;cursor:pointer;box-shadow:0 5px 35px #ffd68c2b}.celebration-continue span{margin-left:22px}.celebration-content>small{font-size:11.5px;color:#969fb9;margin-top:14px}.celebration-close{position:absolute;z-index:3;right:24px;top:24px;border:1px solid #ffffff40;background:#ffffff0a;border-radius:50%;width:38px;height:38px;color:#c7cce0;cursor:pointer}.celebration-rays{position:fixed;width:110vmax;height:110vmax;left:calc(50% - 55vmax);top:calc(43% - 55vmax);background:repeating-conic-gradient(from 0deg,#ffeece08 0deg 10deg,transparent 10deg 30deg);mask-image:radial-gradient(circle,#000,transparent 65%);animation:raysTurn 65s linear infinite;pointer-events:none}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;left:var(--x);top:-25px;width:7px;height:13px;background:var(--color);border-radius:2px;animation:confettiFall 4s var(--delay) ease-out both;transform:rotate(var(--tilt));opacity:0}.badge-art-settings{width:42px;display:inline-flex;vertical-align:middle}.achievement-config-track{border-bottom:1px solid #dfe5ed;padding:12px 0 28px;margin-bottom:16px}.achievement-config-track .tw input{min-width:65px}.achievement-config-track .tw td:first-child{min-width:130px}
@keyframes badgeFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes badgeReveal{0%{opacity:0;transform:scale(.45) rotate(-12deg)}65%{opacity:1;transform:scale(1.04) rotate(2deg)}100%{transform:scale(1) rotate(0)}}@keyframes celebrationFade{from{opacity:0}to{opacity:1}}@keyframes raysTurn{to{transform:rotate(360deg)}}@keyframes confettiFall{0%{opacity:0;translate:0 -30px}12%{opacity:.9}85%{opacity:.6}100%{opacity:0;translate:45px 100vh;rotate:500deg}}
@media(min-width:1500px){.journey-wrap{max-width:1320px}.journey-spotlight{min-height:435px}.spotlight-copy{padding:40px 48px}.hero-badge-button{width:300px}.spotlight-badge{padding-top:24px}}
@media(max-width:1000px){.journey-wrap{padding:20px}.journey-tabs button{padding:11px;flex:none}.journey-tabs button small{display:none}.spotlight-copy{padding:30px 12px 30px 30px}.spotlight-copy h1{font-size:33px}.hero-badge-button{width:238px}.badge-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.journey-wrap{padding:14px}.journey-topline>span{font-size:0}.journey-topline{margin-bottom:14px}.journey-profile{gap:10px;margin-bottom:20px;flex-wrap:wrap}.journey-avatar{width:48px;height:48px;border-radius:17px;font-size:20px}.journey-name h2{font-size:21px}.journey-name h2 span{font-size:12px;display:block;margin:3px 0 0}.journey-name small{font-size:11.5px}.journey-stat{min-width:55px;padding-left:12px}.journey-stat b{font-size:23px}.journey-stat small{font-size:11px}.journey-tabs{margin-bottom:12px}.journey-tabs button{font-size:11px;padding:10px}.journey-spotlight{grid-template-columns:1fr;border-radius:19px}.spotlight-copy{padding:26px 26px 27px;order:2}.spotlight-copy h1{font-size:32px;margin-top:12px}.spotlight-badge{order:1;padding:22px 20px 8px;min-height:260px}.hero-badge-button{width:205px}.spotlight-orbit{width:210px;height:210px;top:10px}.spotlight-caption{margin-top:0}.spotlight-caption span{display:none}.next-badge-mini{position:absolute;bottom:12px;right:16px;margin:0;padding:3px 8px;max-width:135px}.next-badge-mini .badge-art{width:35px}.spotlight-caption b{font-size:12px}.journey-level{margin-top:14px}.journey-meter-label{margin-top:18px;max-width:none}.journey-meter{max-width:none}.demo-challenge{width:100%;justify-content:space-between;font-size:13px}.demo-challenge-note{line-height:1.7}.journey-collection{margin-top:28px}.collection-heading{margin-bottom:16px;gap:10px}.collection-heading h2{font-size:19px}.collection-heading p{font-size:12px;max-width:260px}.eyebrow{font-size:11px}.collection-count{font-size:23px}.badge-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.badge-card{border-radius:12px;padding:27px 8px 12px}.badge-card .tier-number{font-size:11px;left:8px;top:10px}.badge-status{font-size:11px;right:7px;top:10px}.badge-card>b{font-size:12px}.badge-card>small{font-size:11.5px}.card-distance{font-size:11px;line-height:1.7;margin-top:10px}.badge-card .badge-art{margin:5px 0 10px}.journey-history{padding:18px 15px;margin-top:22px}.journey-history .collection-heading>.small{display:none}.journey-event{gap:9px}.journey-event b{font-size:11px}.journey-event small{font-size:11.5px}.journey-event>strong{font-size:12px}.demo-banner{padding:8px 12px;display:block;font-size:12px}.demo-banner>span{display:block}.demo-banner>span:last-child{text-align:right;margin-top:2px}.demo-banner button{font-size:12px;padding:4px 6px}.celebration-content{padding:45px 18px 30px}.celebration-art{width:270px}.celebration-content h2{font-size:32px}.celebration-intro{font-size:13px}.celebration-eyebrow{font-size:11px}.celebration-threshold{font-size:13px}}
@media(max-width:380px){.badge-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-stat{min-width:45px;padding-left:7px}.journey-name h2{font-size:18px}.journey-avatar{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.hero-badge-button,.achievement-celebration,.celebration-art,.celebration-rays,.confetti i{animation:none!important}.confetti{display:none}.badge-card,.journey-meter i{transition:none}.hero-badge-button:hover,.badge-card:hover{transform:none}}
@media print{.demo-banner,.journey-topline,.journey-tabs,.demo-challenge,.demo-challenge-note,.achievement-celebration{display:none!important}.journey-spotlight{background:#eee!important;color:#111;box-shadow:none}.spotlight-copy h1,.spotlight-copy p,.journey-meter-label,.journey-meter-label strong,.journey-next{color:#111}.journey-wrap{max-width:none}.badge-card{break-inside:avoid}}

/* A complete starting dashboard even before the first point is earned. */
.starter-dashboard{margin-top:22px}
.starter-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;border-radius:22px;background:radial-gradient(circle at 88% 12%,#ffe3a963,transparent 26%),linear-gradient(135deg,#0b6173,#168ba0);color:#fff;box-shadow:0 14px 32px #0b617329;overflow:hidden}
.starter-hero .eyebrow{display:block;color:#ffd98c;font-size:12px;font-weight:800;letter-spacing:.14em}
.starter-hero h1{margin:7px 0 5px;font-size:31px;line-height:1.35;color:#fff}
.starter-hero p{max-width:660px;margin:0;color:#d9f1f3;font-size:15px}
.starter-seal{width:112px;height:112px;flex:0 0 112px;display:grid;place-content:center;text-align:center;border-radius:50%;border:3px solid #ffd488;background:#ffffff17;box-shadow:inset 0 0 0 6px #ffffff0d,0 8px 24px #0636404f}
.starter-seal b{font-size:42px;line-height:1;color:#fff}
.starter-seal small{margin-top:5px;color:#ffe6b8;font-size:12px}
.starter-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.starter-goal{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:330px;padding:20px;border:1px solid #dfe6eb;border-radius:18px;background:linear-gradient(165deg,#fff,#f7fbfc);color:var(--ink);text-align:left;box-shadow:0 4px 14px #16495b0a;transition:transform .18s,border-color .18s,box-shadow .18s}
.starter-goal:hover{transform:translateY(-3px);border-color:#7fb9c3;box-shadow:0 12px 28px #16495b17}
.starter-number{font-size:12px;font-weight:800;color:#6d8190;letter-spacing:.08em}
.starter-lock{width:82px;height:82px;display:grid;place-items:center;align-self:center;margin:9px 0 5px;border:6px solid #f5f7f9;outline:1px solid #0a5663;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffffff31,transparent 45%),linear-gradient(145deg,#1aa0b2,#0b6173);box-shadow:inset 0 0 0 2px #87d5db,0 8px 18px #0c5b6d2e;color:#fff}
.starter-lock b{font-size:35px;line-height:1}
.starter-goal h2{margin:9px 0 0;text-align:center;font-size:22px;color:#244558}
.starter-goal>p{margin:1px 0 12px;text-align:center;color:#697d88;font-size:14px}
.starter-progress{height:10px;margin-top:auto;border-radius:999px;background:#e7edef;overflow:hidden}
.starter-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20a67c,#65cf9f)}
.starter-progress-label{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:13px;color:#71808b}
.starter-progress-label strong{color:#245266}
.starter-goal em{margin-top:15px;text-align:right;color:#0d7a8c;font-size:14px;font-style:normal;font-weight:800}
.starter-note{text-align:center;margin:17px 0 0;color:#7c8994;font-size:13px}
@media(max-width:800px){.starter-goals{grid-template-columns:1fr}.starter-goal{min-height:0}.starter-hero{padding:24px}.starter-seal{width:86px;height:86px;flex-basis:86px}.starter-seal b{font-size:34px}}
@media(max-width:520px){.starter-hero{align-items:flex-start}.starter-hero h1{font-size:25px}.starter-seal{width:72px;height:72px;flex-basis:72px}.starter-seal b{font-size:28px}.starter-seal small{font-size:10px}.starter-goal{display:grid;grid-template-columns:78px 1fr;column-gap:13px}.starter-number{grid-column:1/3}.starter-lock{grid-row:2/5;width:72px;height:72px}.starter-goal h2,.starter-goal>p{text-align:left}.starter-goal h2{margin-top:12px}.starter-progress,.starter-progress-label,.starter-goal em{grid-column:1/3}}

/* Public passbook: compact identity, left topic list and concealed locked cards. */
.journey-profile{justify-content:space-between;background:#fff;border:1px solid #e3e8ef;border-radius:18px;padding:18px 22px}.journey-name{flex:initial}.journey-name h2{font-size:23px;margin:0}.journey-name small{font-size:13px}.journey-summary{display:flex;align-items:center;gap:13px;font-size:16px;white-space:nowrap}.journey-summary b{font-size:20px;color:#253858}.journey-summary i{width:1px;height:22px;background:#d7dee8}.journey-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:start}.journey-topic-list{position:sticky;top:98px;background:#fff;border:1px solid #e2e7ef;border-radius:16px;padding:13px}.journey-topic-list h3{font-size:15px;color:#68768a;margin:3px 7px 11px}.journey-topic-list button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:0;border-left:3px solid transparent;border-radius:9px;background:transparent;color:#44536a;padding:12px 10px;text-align:left;font:inherit;font-size:15px;cursor:pointer}.journey-topic-list button small{font-size:12px;color:#8995a6;white-space:nowrap}.journey-topic-list button:hover{background:#f1f4f8}.journey-topic-list button.selected{background:#e8f1ff;color:#245c94;border-left-color:#397cb9;font-weight:800}.topic-badge-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold-2,#e2b663);margin-right:7px;vertical-align:middle;box-shadow:0 0 0 2px #e2b66333}.topic-legend{display:flex;align-items:center;font-size:11.5px;color:#8995a6;margin:0 7px 10px;line-height:1.6}.journey-topic-content{min-width:0}.badge-card-back,.hero-card-back{background-color:#0e6a7d;background-image:radial-gradient(circle at 30% 30%,#ffffff22,transparent 55%),linear-gradient(180deg,#12879a,#0c5b6d);border:7px solid #f4f6fa;outline:1px solid #0a4650;box-shadow:inset 0 0 0 2px #7fd7dd;border-radius:50%;color:#eafcff;display:grid;place-items:center;text-align:center}.badge-card-back{width:100%;max-width:142px;aspect-ratio:1;margin:5px 0 13px}.badge-card-back b{font-size:35px;line-height:1}.badge-card-back span{font-size:12px;letter-spacing:1px}.hero-card-back{width:220px;max-width:80%;aspect-ratio:1}.hero-card-back b{font-size:58px}.hero-card-back span{font-size:14px}.badge-card.locked,.badge-card.up-next{background:#f2f4f8}.badge-card.locked>strong,.badge-card.up-next>strong{font-size:14px;color:#5f6d81}.badge-card.locked>small,.badge-card.up-next>small{font-size:12px;line-height:1.6;text-align:center;color:#718096}.locked-detail{text-align:center}.locked-detail .badge-card-back{width:150px;margin:12px auto 20px}.honor-spotlight{min-height:330px}.honor-badge-art{max-width:240px}.honor-badge-shelf{grid-template-columns:minmax(180px,240px)}.journey-event small{font-size:12px}.journey-event b,.journey-event>strong{font-size:14px}.journey-footnote,.track-explainer{font-size:12px}

@media(max-width:850px){.journey-wrap{padding:18px 14px 38px}.journey-profile{align-items:flex-start;gap:12px}.journey-summary{font-size:14px}.journey-summary b{font-size:17px}.journey-body{grid-template-columns:150px minmax(0,1fr);gap:12px}.journey-topic-list{top:75px;padding:8px}.journey-topic-list button{display:block;padding:10px 7px}.journey-topic-list button small{display:block;margin-top:3px}.badge-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.journey-profile{display:block;padding:15px}.journey-summary{margin-top:12px}.journey-body{grid-template-columns:112px minmax(0,1fr);gap:8px}.journey-topic-list{top:64px;border-radius:12px;padding:5px}.journey-topic-list h3{font-size:13px}.journey-topic-list button{font-size:13px;padding:9px 5px}.journey-topic-list button small{font-size:12px}.journey-spotlight{grid-template-columns:1fr}.spotlight-badge{min-height:210px}.badge-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card{padding-left:7px;padding-right:7px}.badge-card-back{max-width:115px}.journey-event{display:block}.journey-event>strong{display:block;margin-top:5px}}
