/* The world overview and its close-up trails share the app's white canvas. */
.journey-world-shell{position:relative;max-width:620px;margin:0 auto;min-width:0}.journey-world-shell .world-viewport{position:relative;isolation:isolate;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#decda3 transparent;background:transparent;box-shadow:none;border-radius:24px;scroll-padding:45px 0}.journey-world-shell .world-overview-viewport{height:clamp(320px,calc(100svh - 300px),550px);min-height:320px;max-height:550px;overflow:hidden;cursor:default}.journey-world-shell .journey-map.journey-world{position:relative;display:block;width:100%;max-width:460px;height:100%;min-height:320px;padding:0;margin:0 auto;isolation:isolate;transform-origin:50% 60%}.world-route{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.world-route path{fill:none;stroke:#d7c7a1;stroke-width:3.3;stroke-linecap:round;stroke-dasharray:3 9;vector-effect:non-scaling-stroke;opacity:.7}.world-route .route-underlay{stroke:#fff;stroke-width:13;stroke-dasharray:none;opacity:.95}.journey-world .world-destination{position:absolute;display:block;z-index:1;width:44%;height:28%;padding:0;margin:0;min-height:0;flex-shrink:0;transform-origin:50% 75%}.destination-0{left:2%;bottom:0}.destination-1{right:2%;bottom:8%}.destination-2{left:2%;bottom:32%}.destination-3{right:2%;bottom:40%}.destination-4{left:2%;bottom:64%}.destination-5{right:2%;bottom:72%}.destination-button{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;justify-items:center;gap:3px;width:100%;height:100%;min-height:44px;padding:3px 5px 5px;border-radius:26px;background:transparent;text-align:center;color:#716247;transition:transform .18s,background .18s;isolation:isolate}.destination-button:hover{transform:translateY(-3px)}.destination-button:active{transform:translateY(1px) scale(.97)}.destination-button:focus-visible{outline:3px solid #a2bdd0;outline-offset:1px;background:#fff7e966}.destination-landmark{position:relative;display:block;width:100%;height:100%;min-height:0;max-width:190px;isolation:isolate;pointer-events:none}.landmark-image{position:absolute;z-index:2;left:0;bottom:0;display:block;width:100%;height:100%;max-height:142px;object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 1px #87734b0b)}.landmark-image.is-fallback{height:92%;width:92%;left:4%}.island-contour{position:absolute;z-index:0;left:9%;right:9%;bottom:4%;height:27%;border:1px solid #ead9a4;border-radius:49% 51% 47% 53% / 50% 49% 51% 50%;background:#f5e8b9;box-shadow:0 4px 0 #e6d7a7,0 7px 0 #fff8e8;transform:rotate(-4deg)}.island-contour:after{content:'';position:absolute;inset:4px 7px;border:1px dashed #fff9df99;border-radius:inherit}.terrain-mint .island-contour{background:#deeed8;border-color:#d0e1c5;box-shadow:0 4px 0 #c9dcbf,0 7px 0 #f4f8ea}.terrain-blue .island-contour{background:#e1edf0;border-color:#cfdee3;box-shadow:0 4px 0 #c8dade,0 7px 0 #f3f8f8}.terrain-coral .island-contour{background:#f4e3cc;border-color:#ead5b8;box-shadow:0 4px 0 #e5ceb0,0 7px 0 #fdf5e9}.island-path{position:absolute;z-index:1;left:30%;bottom:4%;width:43%;height:14%;border:2px solid #fff8e1;border-bottom:0;border-radius:50% 60% 0 0;transform:rotate(-8deg);opacity:.8}.destination-title{position:relative;z-index:3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;max-width:190px;padding-top:2px;color:#796b50;font-size:clamp(12px,1.7svh,15px);font-weight:950;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}.destination-progress{display:flex;align-items:center;justify-content:center;gap:7px;min-height:16px;color:#b0a38a;font-size:10px;font-weight:850;line-height:1;white-space:nowrap}.destination-stars{display:flex;align-items:center;gap:2px}.destination-star{display:block;width:12px;height:12px;fill:#ece4d1;stroke:#d4c9ae;stroke-width:.9;flex-shrink:0}.destination-star.is-earned{fill:#f7cd49;stroke:#dcaf31}.destination-lock{position:absolute;z-index:5;left:calc(50% - 12px);top:43%;display:grid;place-items:center;width:24px;height:24px;border:1px solid #e4dac6;border-radius:9px;background:#fffdf5ef;box-shadow:0 2px 0 #e8dfcc;color:#bcae8d;pointer-events:none}.destination-lock>.icon{width:13px;height:13px;stroke-width:2.2}.destination-fog{position:absolute;z-index:4;inset:auto 0 3%;height:43%;border-radius:50%;background:linear-gradient(0deg,#ffffffdc,#ffffff80 60%,#ffffff00);opacity:0;pointer-events:none}.is-locked .destination-fog{opacity:1}.is-locked .landmark-image{opacity:.66;filter:saturate(.68)}.is-locked .island-contour{opacity:.7}.is-locked .destination-title{color:#b2a58d}.is-locked .destination-progress{color:#c4baa7}.is-locked .destination-star{opacity:.8}.is-current .destination-landmark:after{content:'';position:absolute;z-index:-1;left:3%;right:3%;bottom:-1%;height:44%;border:1.5px dashed #e4bf63;border-radius:50%;background:#fff1b52e;transform:rotate(-4deg)}.is-current .destination-title{color:#98701f}.is-complete .destination-title{color:#70927a}.destination-pin{position:absolute;z-index:5;left:50%;top:-2px;transform:translateX(-50%);padding:4px 8px;border:1px solid #efd181;border-radius:9px;background:#fff1ba;box-shadow:0 2px 0 #e7cc87;color:#a07b25;font-size:9px;font-weight:1000;line-height:1.2;white-space:nowrap;pointer-events:none}.destination-pin:after{content:'';position:absolute;top:calc(100% - 3px);left:calc(50% - 3px);width:6px;height:6px;transform:rotate(45deg);border-right:1px solid #efd181;border-bottom:1px solid #efd181;background:#fff1ba}.world-leaf{position:absolute;z-index:-1;width:15px;height:26px;border-radius:90% 10% 80% 20%;background:#d9e6c5;opacity:.65;transform:rotate(-35deg);pointer-events:none}.world-leaf:after{content:'';position:absolute;width:10px;height:17px;left:11px;top:9px;border-radius:10% 90% 20% 80%;background:#d1debc;transform:rotate(20deg)}.leaf-one{left:48%;bottom:12%;transform:rotate(22deg)}.leaf-two{right:1%;bottom:48%;transform:rotate(-22deg);opacity:.45}.leaf-three{left:3%;top:18%;transform:rotate(15deg);opacity:.45}
/* Entering a landmark reveals only its five lesson stops. */
.world-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:51px;padding:0 4px 8px}.world-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 4px;background:transparent;color:#a28e65;font-size:12px;font-weight:900;line-height:1.4}.world-back>.icon{width:17px;height:17px;transform:rotate(180deg)}.world-back:hover{color:#8d6e2a}.world-zoom-label{font-size:10px;font-weight:950;color:#b1a48b}.journey-world-shell .world-detail-viewport{height:clamp(390px,calc(100svh - 350px),600px);min-height:390px;max-height:600px;cursor:grab;scroll-padding:45px 0}.journey-world-shell .world-detail-viewport .world-lesson-map{display:block;position:relative;max-width:400px;width:100%;height:auto;min-height:0;margin:25px auto 24px;transform-origin:50% 85%}.world-lesson-map>.journey-chapter{display:flex;flex-direction:column;position:relative}.world-lesson-map .chapter-stops{display:flex;flex-direction:column-reverse;position:relative;isolation:isolate}.world-lesson-map .chapter-stops>.journey-stop{position:relative;z-index:1;min-height:124px;padding-top:14px;padding-bottom:14px;gap:17px}.world-lesson-map .chapter-stops>.journey-line{position:absolute;z-index:0;inset:0;width:100%;height:100%}.world-lesson-map .journey-copy h2{font-size:19px;line-height:1.25}.world-lesson-map .journey-copy>small{font-size:9px;margin-bottom:6px}.world-lesson-map .journey-copy .status-tag{font-size:10px;margin-top:8px}.world-lesson-map .journey-node{width:68px;height:68px;border-radius:25px}.world-lesson-map .journey-node>.icon{width:28px;height:28px}.world-detail-intro{display:flex;align-items:center;justify-content:center;gap:14px;min-height:125px;margin:13px 13px 7px;padding:17px 10px;border-top:1px dashed #e6dcc2;text-align:left}.world-detail-intro .detail-landmark{position:relative;flex-shrink:0;width:112px;height:94px;max-width:none}.detail-landmark .landmark-image{max-height:100%;height:100%}.world-detail-intro>div{min-width:0}.world-detail-intro small{display:block;font-size:9px;font-weight:1000;letter-spacing:.1em;color:#b39c67;line-height:1.4}.world-detail-intro h2{font-size:22px;line-height:1.15;letter-spacing:-.035em;color:#8c7951;margin-top:5px}.world-detail-intro>div>span{display:block;margin-top:6px;font-size:11px;font-weight:850;color:#b1a386}
@media(min-width:700px){.journey-world-shell .world-overview-viewport{height:clamp(400px,calc(100svh - 300px),570px);max-height:570px}.journey-world-shell .journey-map.journey-world{max-width:470px}.destination-title{font-size:15px}.destination-progress{font-size:11px;min-height:18px;gap:8px}.destination-star{width:13px;height:13px}.destination-lock{width:27px;height:27px;left:calc(50% - 13.5px);border-radius:10px}.destination-lock>.icon{width:14px;height:14px}.destination-pin{font-size:10px;top:0}.world-toolbar{padding-left:9px;padding-right:9px}.world-back{font-size:13px}.world-lesson-map .journey-copy h2{font-size:20px}.journey-world-shell .world-detail-viewport{min-height:440px}.world-detail-intro h2{font-size:24px}}
@media(max-width:430px){.journey-world-shell .world-overview-viewport{border-radius:18px}.destination-button{padding-left:2px;padding-right:2px;gap:2px}.destination-title{max-width:155px}.destination-progress{gap:5px;font-size:9px}.destination-star{width:11px;height:11px}.destination-lock{width:23px;height:23px;left:calc(50% - 11.5px);border-radius:8px}.destination-lock>.icon{width:12px;height:12px}.destination-pin{font-size:8px;padding:4px 7px;top:0}.world-detail-intro{gap:11px;padding-left:4px;padding-right:4px}.world-detail-intro .detail-landmark{width:95px;height:88px}.world-detail-intro h2{font-size:20px}.world-lesson-map .journey-copy h2{font-size:18px}.world-lesson-map .journey-node{width:66px;height:66px;border-radius:24px}.world-lesson-map .journey-node>.icon{width:27px;height:27px}.world-lesson-map .chapter-stops>.journey-stop{gap:15px}}
@media(max-width:360px){.destination-title{font-size:11px;max-width:135px}.destination-progress{font-size:8px;gap:4px}.destination-star{width:10px;height:10px}.destination-stars{gap:1px}.world-lesson-map .chapter-stops>.journey-stop{padding-left:19px;padding-right:19px;gap:12px}.world-lesson-map .journey-node{width:64px;height:64px;border-radius:23px}.world-lesson-map .journey-copy h2{font-size:17px}.world-detail-intro h2{font-size:19px}.world-detail-intro .detail-landmark{width:86px;height:81px}}
@media(max-height:700px) and (max-width:699px){.journey-world-shell .world-overview-viewport{height:clamp(320px,calc(100svh - 270px),440px)}.destination-title{font-size:11px;line-height:1.15}.destination-progress{font-size:8px;min-height:13px}.destination-star{width:10px;height:10px}.destination-pin{font-size:8px;padding:3px 6px}.journey-world-shell .world-detail-viewport{height:390px}.world-toolbar{padding-bottom:3px;min-height:47px}}
@media(prefers-reduced-motion:reduce){.destination-button{transition:none}.destination-button:hover{transform:none}}
.reduced-motion .destination-button{transition:none}

/* The overview fills the space below the header; only a lesson trail scrolls. */
.on-journey #app {display:flex;flex-direction:column;height:100svh;height:100dvh;min-height:0;overflow:hidden;}
.journey-home {display:flex;flex-direction:column;flex:1;min-height:0;padding:10px 24px 20px;}
.journey-home .journey-world-shell {display:flex;flex-direction:column;flex:1;width:100%;min-height:0;}
.journey-home .world-viewport {flex:1;min-height:0;max-height:none;height:auto;background:#fff;}
.journey-home .world-overview-viewport {display:flex;justify-content:center;overflow-y:auto;}
.journey-home .world-overview-viewport .journey-world {height:100%;min-height:360px;max-height:740px;margin:auto;}
.journey-home .world-toolbar {flex-shrink:0;min-height:44px;padding-top:0;padding-bottom:8px;}
.journey-home .world-detail-viewport {scroll-padding-top:24px;}
.world-route .route-underlay {stroke:#fff;}
.destination-fog {background:linear-gradient(0deg,#ffffffdc,#ffffff80 60%,#ffffff00);}
.destination-title {color:#6f624d;}
.is-locked .destination-title {color:#928b7e;}
.is-locked .destination-progress {color:#9d968a;}
.destination-lock {background:#fff;}
@media(max-width:699px) {
  .journey-home {padding:6px 14px calc(12px + env(safe-area-inset-bottom));}
  .journey-home .world-toolbar {padding-left:4px;padding-right:4px;}
}
/* The world uses only the space left by the masthead and start button. */
.destination-treasure{position:absolute;right:7%;top:33%;z-index:4;width:43px;transform:rotate(8deg)}
.world-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.world-bonus{display:flex;align-items:center;gap:7px;min-height:48px;padding:7px 10px;border-radius:16px;background:#f0eaff;color:#73589d;text-align:left;font-size:12px;font-weight:950}.world-bonus>span{display:flex;flex-direction:column;gap:2px}.world-bonus small{font-size:10px}.world-bonus>.icon{width:21px;height:21px}.world-bonus>.game-coin{width:22px;height:22px}.world-bonus:disabled{opacity:.45}
.trail-reward{position:relative;z-index:2;display:flex;justify-content:center;min-height:145px;padding:6px 0}.treasure-node{display:flex;align-items:center;flex-direction:column;width:145px;min-height:126px;padding:0 10px 7px;border-radius:25px;background:#fff9dd;color:#8d6917;box-shadow:0 4px 0 #efdf9b}.treasure-node .treasure-art{width:92px;margin:-2px auto 0}.treasure-node>span{display:flex;align-items:center;gap:5px;margin-top:-3px;font-size:14px;font-weight:1000}.treasure-node small{font-size:11px;margin-top:2px}.treasure-node>span>.icon{width:16px;height:16px}.trail-reward.locked{filter:grayscale(.8);opacity:.45}.trail-reward.claimed .treasure-node{background:#eef7ef;color:#51765a;box-shadow:0 3px 0 #d8e9d9}.trail-reward.claimed .chest-lid{transform:translateY(-9px) rotate(-8deg)}.trail-reward.ready .treasure-node{animation:treasure-bounce 1s ease-in-out 3}.world-destination.is-current .destination-pin{box-shadow:0 3px 0 #dbb756}
@keyframes treasure-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.reduced-motion .treasure-node{animation:none!important}@media(prefers-reduced-motion:reduce){.treasure-node{animation:none!important}}
.journey-home .journey-world-shell{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:620px;margin:0 auto;overflow:hidden}.journey-home .journey-world-shell .world-viewport{flex:1;min-height:0;height:auto;max-height:none;overflow-x:hidden}.journey-home .world-overview-viewport{display:block;overflow-y:auto!important}.journey-home .world-overview-viewport .journey-map.journey-world{height:800px;min-height:800px;max-height:none;width:100%;max-width:480px;margin:0 auto}.journey-home .world-detail-viewport{min-height:0;max-height:none;overflow-y:auto}.journey-home .world-toolbar{min-height:44px;padding:0 4px 4px}.journey-home .world-back{min-height:44px}.journey-home .world-detail-intro{min-height:105px}.journey-home .world-overview-viewport .destination-title{font-size:14px}.journey-home .world-overview-viewport .landmark-image{max-height:160px}
/* One measured trail gives lessons, treasure and bonus games equal breathing room. */
.world-lesson-map .chapter-stops.reward-trail{height:var(--trail-height);padding:0;margin:0;display:flex;flex-direction:column-reverse;flex:none}
.world-lesson-map .reward-trail>.trail-stop{position:relative;flex:0 0 156px;height:156px;min-height:156px;padding:0;display:block;margin:0;z-index:1;filter:none}
.reward-trail .trail-marker{position:absolute;left:var(--stop-x);top:50%;transform:translate(-50%,-50%);z-index:2}
.world-lesson-map .reward-trail .journey-copy{position:absolute;left:calc(var(--stop-x) + 51px);right:8px;top:50%;transform:translateY(-50%);width:auto;max-width:none;padding:0;margin:0;text-align:left}
.world-lesson-map .reward-trail .stop-right .journey-copy{left:8px;right:calc(100% - var(--stop-x) + 51px);text-align:right}
.world-lesson-map .reward-trail .journey-copy h2{font-size:18px;line-height:1.2;margin:0;color:#4c5b4d;text-wrap:balance}
.world-lesson-map .reward-trail .journey-copy small{font-size:10px;letter-spacing:.08em;color:#989883}
.world-lesson-map .reward-trail .journey-copy .status-tag{display:inline-flex;margin-top:7px;color:#8e771c;background:#fff7ce;padding:4px 8px;border-radius:9px}
.world-lesson-map .reward-trail .locked .journey-copy h2{color:#aaa99c}
.world-lesson-map .reward-trail .journey-node{width:72px;height:72px;margin:0;border-radius:27px;box-shadow:0 6px 0 #dfb52e,0 10px 0 #fff4c8}
.world-lesson-map .reward-trail .complete .journey-node{box-shadow:0 6px 0 #89ac83,0 10px 0 #eaf3e4}
.world-lesson-map .reward-trail .locked .journey-node{box-shadow:0 5px 0 #deded5,0 9px 0 #f7f7f2}
.reward-trail .journey-line{z-index:0;inset:0;height:100%;pointer-events:none}
.reward-trail .journey-line path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.reward-trail .journey-line .trail-bed{stroke:#faf4dd;stroke-width:22;stroke-dasharray:none}
.reward-trail .journey-line .trail-track{stroke:#e4d7ad;stroke-width:4;stroke-dasharray:2 10}
.reward-trail .journey-line .trail-earned{stroke:#a4c99b;stroke-width:5;stroke-dasharray:2 10}
.reward-trail .treasure-node{width:139px;min-height:130px;padding:0 8px 8px;border:2px solid #f7e6a3;border-radius:29px;background:#fffbed;box-shadow:0 5px 0 #f0e2ac}
.reward-trail .treasure-node .treasure-art{width:90px;height:81px;margin:0 auto}
.reward-trail .treasure-node>span{font-size:13px;margin:0}.reward-trail .treasure-node small{font-size:11px}
.reward-trail .trail-reward.locked{opacity:1}.reward-trail .locked .treasure-node{filter:grayscale(.7);opacity:.65}
.reward-trail .claimed .treasure-node{border-color:#dbeacb;background:#f5faed;box-shadow:0 4px 0 #dce8ce}
.bonus-node{display:flex;flex-direction:column;align-items:center;gap:3px;width:150px;padding:10px 7px;border:2px solid #ded4f5;border-radius:30px;background:#f9f5ff;box-shadow:0 5px 0 #e4d8f7;color:#725692}
.bonus-node-art{display:grid;place-items:center;width:43px;height:43px;border-radius:16px;background:#e9dffb;color:#7a56b3}.bonus-node-art>.icon{width:27px;height:27px}
.bonus-node strong{font-size:15px}.bonus-node>span:not(.bonus-node-art){font-size:10px}.bonus-node small{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:900}.bonus-node .game-coin{width:17px;height:17px}
.trail-bonus.locked .bonus-node{opacity:.65;filter:grayscale(.5)}
.trail-key{display:flex;align-items:center;gap:4px;color:#9b8d60;font-size:10px;font-weight:900}.trail-key .game-coin{width:23px;height:23px}
.destination-treasure{right:0;top:37%;width:56px;transform:rotate(7deg)}.destination-treasure small{display:block;padding:3px 5px;margin-top:-7px;border-radius:7px;background:#fff0b7;font-size:8px;line-height:1.15;font-weight:950;color:#8f6a1a}
@media(max-width:380px){.world-lesson-map .reward-trail .journey-copy h2{font-size:16px}.world-lesson-map .reward-trail .journey-copy{left:calc(var(--stop-x) + 44px)}.world-lesson-map .reward-trail .stop-right .journey-copy{right:calc(100% - var(--stop-x) + 44px)}.world-lesson-map .reward-trail .journey-node{width:64px;height:64px;border-radius:24px}.trail-key{font-size:9px}}

.journey-home .world-overview-viewport .journey-map.journey-world[data-destinations="8"]{height:1060px;min-height:1060px}

/* Authored sections and multi-session circles use the selected hierarchy board. */
.duo-hierarchy-path .duo-unit-heading{align-items:stretch;min-height:86px;border-radius:14px;background:#58cc02;box-shadow:0 4px 0 #46a302;overflow:hidden}
.duo-hierarchy-path .duo-unit-heading>div{padding:13px 8px 13px 2px}
.duo-hierarchy-path .duo-unit-heading small{font-size:12px;line-height:16px;margin:0 0 5px;letter-spacing:.025em}
.duo-hierarchy-path .duo-unit-heading h2{font-size:21px;line-height:25px;margin:0;overflow-wrap:anywhere}
.duo-hierarchy-path .duo-unit-heading>.duo-heading-back{width:43px;min-width:43px;border:0;border-radius:14px 0 0 14px;padding:0;background:transparent}
.duo-hierarchy-path .duo-heading-back>.icon{width:23px;height:23px;transform:rotate(180deg)}
.duo-hierarchy-path .duo-unit-heading>.duo-heading-book{width:49px;min-width:49px;padding:0;border-left:2px solid #4ab400}
.duo-hierarchy-path .duo-heading-book>.icon{width:25px;height:25px}
body[data-experience="duo"] .duo-hierarchy-path .journey-map.duo-path{padding-top:54px;padding-bottom:24px;min-height:0}
body[data-experience="duo"] .duo-hierarchy-path .duo-path>.duo-stop{height:126px;min-height:126px;isolation:isolate}
body[data-experience="duo"] .duo-hierarchy-path .duo-path .journey-node{outline:0;overflow:visible}
body[data-experience="duo"] .duo-hierarchy-path .duo-path .current .journey-node{outline:0}
.duo-hierarchy-path .duo-level-stop .duo-node:focus-visible{outline:3px solid #1cb0f6!important;outline-offset:9px}
.duo-hierarchy-path .duo-level-ring{position:absolute;width:88px;height:88px;left:-8px;top:-12px;overflow:visible;pointer-events:none;z-index:-1;fill:none;stroke-width:5}
.duo-hierarchy-path .duo-level-ring-track{stroke:#e5e5e5}
.duo-hierarchy-path .duo-level-ring-earned{stroke:#1cb0f6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:44px 44px}
.duo-hierarchy-path .duo-node-callout{top:-40px;min-height:30px;padding:7px 12px;font-size:12px;border-radius:10px}
.duo-hierarchy-path .duo-path-guide{left:auto;right:4px;top:180px;width:112px;height:145px;object-fit:contain}
.duo-hierarchy-path .duo-reward-state{display:block;margin-top:5px;max-width:120px;white-space:nowrap;color:#969696;font-size:10px;line-height:14px;font-weight:700;text-align:center}
.duo-hierarchy-path .duo-chest.ready .duo-reward-state{color:#8e6f13}
.duo-hierarchy-path .duo-chest.claimed .duo-reward-state{color:#61a800}
.duo-hierarchy-path .duo-unit-end{margin-top:0;padding-top:18px;font-size:16px}
.duo-hierarchy-path .duo-unit-end small{font-size:12px}

.popup-layer .popup-bubble.duo-level-popup{box-sizing:border-box;width:288px;max-width:calc(100vw - 32px);min-height:0;padding:16px;border:0;border-radius:16px;background:#58cc02;color:#fff;box-shadow:0 3px 0 #46a302;text-align:left;overflow:visible}
.popup-layer .duo-level-popup::before{content:"";position:absolute;left:calc(var(--popup-tip-x,50%) - 7px);top:-6px;width:14px;height:14px;border:0;border-radius:2px;background:#58cc02;transform:rotate(45deg);z-index:-1}
.popup-layer .duo-level-popup[data-side="above"]::before{top:auto;bottom:-6px}
.popup-layer .duo-level-popup::after{display:none}
.popup-layer .duo-level-popup h2{font-size:20px;line-height:24px;font-weight:900;color:inherit;margin:0 0 7px;overflow-wrap:anywhere}
.popup-layer .duo-level-popup .duo-level-position{font-size:16px;line-height:20px;color:inherit;margin:0 0 14px}
.popup-layer .duo-level-popup .duo-level-requirement{font-size:14px;line-height:19px;color:inherit;margin:0 0 14px}
.popup-layer .duo-level-primary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;gap:7px;width:100%;min-height:50px;padding:9px 12px;border:0;border-bottom:3px solid #dfefcd;border-radius:16px;background:#fff;color:#58a900;font-size:16px;line-height:21px;font-weight:1000;letter-spacing:.025em;text-align:center}
.popup-layer .duo-level-primary:active:not(:disabled){transform:translateY(2px);border-bottom-width:1px}
.popup-layer .duo-level-primary:focus-visible,.popup-layer .duo-level-secondary:focus-visible{outline:3px solid #1cb0f6;outline-offset:3px}
.popup-layer .duo-level-secondary{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;margin-top:9px;padding:8px;border-radius:12px;background:transparent;color:#fff;font-size:14px;line-height:19px;font-weight:900;text-align:center}
.popup-layer .duo-level-secondary.is-legendary{min-height:46px;border-bottom:3px solid #e4ac00;background:#ffd900;color:#8c6900;text-transform:uppercase}
.popup-layer .duo-level-secondary>.icon{width:21px;height:21px}
.popup-layer .duo-level-popup.is-locked{background:#e5e5e5;color:#686868;box-shadow:0 3px 0 #c9c9c9}
.popup-layer .duo-level-popup.is-locked::before{background:#e5e5e5}
.popup-layer .duo-level-popup.is-locked .duo-level-primary{background:#d5d5d5;color:#8b8b8b;border-bottom-color:#c7c7c7}
.popup-layer .duo-level-popup.is-locked .duo-level-secondary{color:#168ec6}

body[data-experience="duo"][data-view="units"] #app{height:100svh;height:100dvh;overflow:hidden}
body[data-experience="duo"] .duo-units-screen{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding-top:9px;padding-bottom:18px}
.duo-units-screen .duo-units-title{margin-bottom:14px;min-height:42px;flex:none;gap:12px}
.duo-units-screen .duo-units-title h1{font-size:28px;line-height:34px;margin:0}
.duo-section-picker{width:100%;max-width:460px;margin:0 auto}
.duo-section-group{width:100%;margin:0 0 20px}
.duo-section-card{position:relative;min-height:154px;box-sizing:border-box;padding:18px 16px;border-radius:16px;background:#58cc02;color:#fff;overflow:hidden}
.duo-section-copy{position:relative;max-width:calc(100% - 90px);z-index:1}
.duo-section-copy>small{display:block;font-size:13px;line-height:17px;font-weight:900;margin-bottom:9px}
.duo-section-copy>h2{font-size:28px;line-height:33px;font-weight:1000;color:#fff;margin:0 0 10px;letter-spacing:-.02em}
.duo-section-copy>p{font-size:14px;line-height:19px;font-weight:700;color:#fff;margin:0 0 13px}
.duo-section-progress{height:15px;width:100%;overflow:hidden;border-radius:12px;background:#dcebcf}
.duo-section-progress>span{display:block;height:100%;border-radius:inherit;background:#fff}
.duo-section-card>img{position:absolute;right:0;bottom:4px;width:114px;height:143px;object-fit:contain}
.duo-section-unit-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.duo-unit-row{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:9px 12px;border:2px solid #e7e7e7;border-radius:14px;background:#fff;color:#424242;text-align:left}
.duo-unit-row>.duo-unit-number{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#e8e8e8;color:#777;font-size:17px;line-height:20px;font-weight:1000}
.duo-unit-row>strong{flex:1;min-width:0;font-size:16px;line-height:20px;font-weight:900;overflow-wrap:anywhere}
.duo-unit-row .duo-unit-number>.icon{width:21px;height:21px}
.duo-unit-row>.duo-unit-lock{display:flex;align-items:center;flex:none;color:#aaa}
.duo-unit-row>.duo-unit-chevron{display:flex;align-items:center;flex:none;color:#999}
.duo-unit-row .duo-unit-lock>.icon{width:20px;height:20px;filter:grayscale(1);opacity:.7}
.duo-unit-row .duo-unit-chevron>.icon{width:19px;height:19px}
.duo-unit-row.is-current{background:#ddf4ff;border-color:#84d8ff}
.duo-unit-row.is-current>.duo-unit-number{background:#1cb0f6;color:#fff}
.duo-unit-row.is-current>.duo-unit-chevron{color:#1cb0f6}
.duo-unit-row.is-complete>.duo-unit-number{background:#d8f6bf;color:#58a700}
.duo-unit-row.is-locked:not(.is-current)>strong{color:#666}
.duo-unit-row:focus-visible{outline:3px solid #1cb0f6;outline-offset:2px}
.duo-unit-row:active{transform:translateY(1px)}
@media(min-width:700px){.duo-section-card{min-height:168px;padding:20px}.duo-section-card>img{width:128px;height:160px}.duo-section-copy{max-width:calc(100% - 110px)}.duo-unit-row{min-height:64px}}
@media(max-width:360px){.duo-hierarchy-path .duo-unit-heading h2{font-size:19px;line-height:23px}.duo-hierarchy-path .duo-unit-heading small{font-size:11px}.duo-hierarchy-path .duo-path-guide{right:0;width:94px;height:126px}.duo-hierarchy-path .duo-unit-heading>.duo-heading-book{width:43px;min-width:43px}.duo-section-card{padding:15px 13px;min-height:146px}.duo-section-copy>h2{font-size:24px;line-height:29px}.duo-section-copy>p{font-size:12px;line-height:17px}.duo-section-card>img{width:98px;height:132px}.duo-unit-row{gap:9px;min-height:60px;padding:8px 10px}.duo-unit-row>strong{font-size:14px;line-height:18px}.duo-unit-row>.duo-unit-number{width:32px;height:32px;flex-basis:32px;font-size:16px}.duo-unit-row .duo-unit-lock>.icon{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.duo-unit-row:active,.popup-layer .duo-level-primary:active:not(:disabled){transform:none}}

