/* Shared interaction and family journey system. Keep module content untouched. */
:root{--kp-ink:#193f43;--kp-muted:#506663;--kp-brand:#17695c;--kp-paper:#fffdf6;--kp-line:#cbd9ce;--kp-focus:#1b65b9;--kp-radius:22px;--kp-space:clamp(20px,4vw,40px)}
html{scroll-padding-top:24px}body{overflow-wrap:break-word}*,*:before,*:after{box-sizing:border-box}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--kp-focus)!important;outline-offset:4px!important}
:where(button,input,select,textarea){font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.kp-site-header :is(a,summary),.kp-journey-bar a,.kp-journey-bar select{min-height:44px;align-content:center}
.kp-site-header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:#17695c}
.kp-site-footer a{min-height:32px;align-content:center}.kp-site-primary:hover,.family-button:hover{filter:brightness(1.06)}
.kp-journey-bar{background:#edf3e8;border-bottom:1px solid var(--kp-line);color:var(--kp-ink);font:14px/1.5 system-ui,-apple-system,sans-serif}
.kp-journey-inner{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 24px}
.kp-journey-inner>label{display:flex;align-items:center;gap:10px;min-width:0;font-weight:600}.kp-journey-inner select{border:1px solid #b4c9ba;background:#fffefa;color:var(--kp-ink);border-radius:10px;max-width:220px;padding:8px 28px 8px 10px}
.kp-journey-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.kp-journey-links a{color:var(--kp-ink);font-weight:600;text-underline-offset:4px}.kp-journey-links .kp-sync{font-size:12px;text-decoration:none;background:#dcebdd;border:1px solid #bbd1bd;border-radius:30px;padding:5px 12px;min-height:32px}.kp-journey-links .kp-sync-attention{background:#fff0cf;border-color:#dfc47c;color:#5b4513}
.kp-start-shell{max-width:1180px!important;padding-block:clamp(32px,5vw,68px)!important}.kp-start-heading{max-width:760px;margin-bottom:40px}.kp-start-heading h1{font-size:clamp(40px,5.8vw,70px);line-height:1.07;letter-spacing:-.045em;color:var(--kp-ink);margin:14px 0 20px}.kp-start-heading em{font-family:Georgia,serif;font-weight:500;color:var(--kp-brand)}.kp-start-heading .family-lede{font-size:19px;max-width:620px;line-height:1.7}
.kp-start-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(26px,5vw,70px);align-items:start}.kp-start-form{min-width:0;background:#fffefa;border:1px solid var(--kp-line);padding:var(--kp-space);border-radius:var(--kp-radius)}
.kp-start-form fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}.kp-start-form legend{font-size:18px;line-height:1.5;font-weight:750;color:var(--kp-ink);padding:0;margin-bottom:14px}.kp-start-form legend>span{display:inline-block;font-size:12px;letter-spacing:.05em;color:var(--kp-brand);margin-right:8px}.kp-start-form fieldset>p{font-size:14px;color:var(--kp-muted);margin:0 0 15px;line-height:1.6}
.kp-grade-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.kp-grade-options label,.kp-choice-options label{position:relative;cursor:pointer}.kp-grade-options input,.kp-choice-options input{position:absolute;opacity:0;width:1px;height:1px}.kp-grade-options span{min-height:48px;display:grid;place-items:center;border:1px solid #c5d4c8;border-radius:12px;color:var(--kp-ink);font-weight:700;background:#fff}
.kp-choice-options{display:grid;gap:10px}.kp-choice-options label>span{display:block;padding:14px 16px 14px 42px;border:1px solid #c5d4c8;border-radius:13px;background:#fff;position:relative;color:var(--kp-ink)}.kp-choice-options label>span:before{content:'';position:absolute;left:15px;top:20px;width:15px;height:15px;border:1.5px solid #889e91;border-radius:50%}.kp-choice-options strong{display:block;font-size:15px}.kp-choice-options small{display:block;font-size:13px;line-height:1.5;color:var(--kp-muted);margin-top:3px}
.kp-start-form input:checked+span{border:2px solid var(--kp-brand);background:#edf5ea}.kp-choice-options input:checked+span{padding:13px 15px 13px 41px}.kp-choice-options input:checked+span:before{border:4px solid var(--kp-brand);left:14px;top:19px}.kp-start-form input:focus-visible+span{outline:3px solid var(--kp-focus);outline-offset:3px}
.kp-start-form>button{min-height:50px;width:100%;font-size:15px!important}.kp-start-form [role=status]:empty{display:none}.kp-start-form [role=status]{font-size:14px;color:var(--kp-muted)}#kp-start-learner-wrap{margin-bottom:28px}#kp-start-learner-wrap label{display:block;font-weight:700;margin-bottom:8px}#kp-start-learner{width:100%;min-height:48px;padding:8px 12px;border:1px solid var(--kp-line);border-radius:10px;background:white;color:var(--kp-ink)}
.kp-start-aside img{display:block;max-width:100%;height:auto}.kp-start-promise{padding:8px 10px 0}.kp-start-promise h2{font:500 clamp(30px,3vw,42px)/1.15 Georgia,serif;color:var(--kp-ink);margin:12px 0 18px}.kp-start-promise p{color:var(--kp-muted);line-height:1.75;font-size:15px}.kp-growth-path{list-style:none;padding:0;margin:28px 0;counter-reset:growth}.kp-growth-path li{position:relative;padding:0 0 22px 40px;counter-increment:growth;border-left:1px solid #c5d4c8;margin-left:12px}.kp-growth-path li:last-child{padding-bottom:0;border-color:transparent}.kp-growth-path li:before{content:counter(growth);position:absolute;left:-13px;top:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--kp-brand);background:#e4efdf;border:1px solid #bdcebc;font-size:12px;font-weight:700}.kp-growth-path strong,.kp-growth-path span{display:block;font-size:14px;color:var(--kp-ink)}.kp-growth-path span{color:var(--kp-muted);margin-top:5px}#kp-start-access{border-top:1px solid var(--kp-line);padding-top:20px;font-size:14px}
.kp-start-result{margin-top:32px;padding:var(--kp-space);background:#eaf2e3;border:1px solid #bed1b7;border-radius:var(--kp-radius);max-width:760px}.kp-start-result h2{font-size:clamp(25px,3vw,36px);line-height:1.2;color:var(--kp-ink)}.kp-start-result p{line-height:1.7;max-width:650px;color:var(--kp-muted)}.kp-start-result>a,.kp-start-explore a{color:var(--kp-brand);text-underline-offset:4px}.kp-start-explore{font-size:15px;line-height:1.9;color:var(--kp-muted);max-width:780px;margin-top:38px}
.kp-family-next{font-size:13px!important;color:var(--kp-brand)!important;margin-top:12px}.kp-family-milestone{display:inline-block;font-size:12px;background:#e5efdc;padding:5px 10px;border-radius:20px;font-weight:600;color:#345b32}.kp-member-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:30px 0 0;counter-reset:member}.kp-member-steps li{border-top:2px solid #bacfb9;padding-top:15px;counter-increment:member;font-size:14px;line-height:1.7;color:var(--kp-muted);min-width:0}.kp-member-steps strong{display:block;color:var(--kp-ink);font-size:16px}.kp-member-steps strong:before{content:'0' counter(member) ' ';color:var(--kp-brand);font-size:12px;margin-right:5px}
.kp-page-home .kp-launch-actions .kp-button-primary{background:var(--kp-brand);color:white}.kp-page-home .kp-launch-preview button{border:0;padding:8px 0;background:transparent;color:var(--kp-brand);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:44px}.kp-core-offering h3{line-height:1.2}.kp-marketing-page .billing-plan.featured{border-color:#17695c}
@media(max-width:800px){.kp-start-layout{grid-template-columns:minmax(0,1fr)}.kp-start-aside{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:20px}.kp-start-promise{padding:0}.kp-journey-inner{align-items:flex-start;gap:8px 16px;flex-wrap:wrap}.kp-journey-links{gap:12px}.kp-journey-inner select{max-width:190px}.kp-member-steps{gap:15px}}
@media(max-width:520px){.kp-journey-inner{padding:8px 18px}.kp-journey-inner>label{width:100%;justify-content:space-between}.kp-journey-links{width:100%;justify-content:space-between;gap:8px;font-size:12px}.kp-journey-links .kp-sync{font-size:11px;padding:5px 9px}.kp-start-heading{margin-bottom:28px}.kp-start-heading .family-lede{font-size:16px}.kp-start-form{padding:23px 20px}.kp-start-aside{grid-template-columns:1fr}.kp-start-aside img{max-width:360px;margin:auto}.kp-start-promise{padding:0 5px}.kp-start-heading h1{font-size:44px}.kp-grade-options{gap:8px}.kp-member-steps{grid-template-columns:1fr;gap:18px}.kp-member-steps li{padding-top:12px}.kp-start-result .family-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.kp-marketing-page .family-heading h2{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.035em;margin:10px 0 20px;color:var(--kp-ink)}

html[data-kp-module] #kp-web-tools{display:none!important}
.kp-growth-path li::marker{content:""}

.kp-start-aside{min-width:0}.kp-start-aside img{width:100%;max-width:100%}.kp-start-promise{min-width:0}@media(max-width:520px){.kp-start-aside{grid-template-columns:minmax(0,1fr)}.kp-start-aside img{max-width:360px}}
/* Welcome guide, activity snapshots and in-context help. */
.kp-learning-snapshot,.kp-family-next-step{padding:18px;margin-top:20px;background:#edf3e8;border:1px solid #cadbc5;border-radius:16px}.kp-learning-snapshot h3{font-size:15px;color:#193f43;margin:0 0 10px}.kp-learning-snapshot p,.kp-family-next-step p{font-size:13px;line-height:1.7;color:#506663}.kp-learning-snapshot a,.kp-family-next-step a{font-size:13px;color:#17695c;text-underline-offset:4px}.kp-family-next-step{background:#fff4db;border-color:#e0d3ae}.kp-family-next-step strong{color:#193f43;line-height:1.4;display:block}
.kp-activity-help{background:transparent;border:0;color:#193f43;font:600 13px/1.5 system-ui;padding:8px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}.kp-journey-links{gap:14px}.kp-password-visibility{display:block!important;font-size:13px!important;min-height:44px;margin:3px 0 0!important;padding:8px 0!important;background:transparent!important;color:#17695c!important;box-shadow:none!important}
.kp-page-account .family-module-grid{margin-top:24px}.kp-page-account #family-worlds{scroll-margin-top:24px}
@media(max-width:520px){.kp-journey-links{gap:10px;justify-content:flex-start}.kp-journey-links .kp-sync{margin-left:auto}.kp-activity-help{font-size:12px}.kp-learning-snapshot,.kp-family-next-step{padding:15px}}

.kp-journey-bar{position:relative}.kp-journey-inner{flex-wrap:wrap}.kp-journey-links{position:static;min-width:0}
.kp-app-controls,.kp-learning-path{position:static;border:0;margin:0;padding:0}
.kp-app-controls summary,.kp-learning-path summary{cursor:pointer;min-height:44px;align-content:center;font-weight:650}
.kp-app-controls>div,.kp-learning-path>div{box-sizing:border-box;position:absolute;z-index:10001;top:100%;background:#fffdf6;border:1px solid #cbd9ce;border-radius:14px;box-shadow:0 10px 30px #193f4322;padding:18px;max-width:calc(100% - 32px);line-height:1.6}
.kp-learning-path>div{left:max(16px,calc((100% - 1180px)/2));right:auto;width:420px}
.kp-app-controls>div{left:auto;right:max(16px,calc((100% - 1180px)/2));width:220px;display:grid;gap:10px}
.kp-app-controls button{min-height:44px;border:1px solid #b4c9ba;border-radius:9px;padding:8px;background:#edf3e8;color:#193f43;cursor:pointer}.kp-app-controls [hidden]{display:none!important}
.kp-learning-path p{font-size:14px;margin:10px 0}.kp-learning-path strong{font-size:15px}.kp-learning-path a{display:block}
@media(max-width:520px){.kp-journey-links{align-items:center}}

/* Inside a learning world, the activity owns the screen. Website navigation
   remains as a fallback until the family-aware session controls are ready. */
html[data-kp-module].kp-session-ready .kp-site-header,html[data-kp-module] .kp-site-footer{display:none!important}
html[data-kp-module] .kp-journey-bar{position:relative;z-index:120;background:#fffdf6;border-bottom:1px solid #cfdbce;font:14px/1.4 system-ui,-apple-system,sans-serif}
html[data-kp-module] .kp-journey-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;max-width:none;min-height:60px;padding:7px max(16px,env(safe-area-inset-right)) 7px max(16px,env(safe-area-inset-left))}
.kp-session-context{display:flex;align-items:center;gap:10px;min-width:0}.kp-session-context>div{min-width:0}.kp-session-home{display:grid;place-items:center;flex:none;min-height:44px;min-width:32px}.kp-session-home img{display:block;border-radius:9px}.kp-session-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;text-decoration:none!important;color:#193f43!important;min-height:0!important}
.kp-session-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.5}.kp-session-meta .kp-sync{display:block;min-height:0;padding:0;background:none;border:0;color:#506663;font-size:11px;text-decoration:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-session-meta .kp-sync-attention{color:#8a430f;font-weight:750}.kp-session-meta .planner-time{font-size:11px;min-width:0;color:#17695c}.kp-session-meta .planner-time:not(:empty):before{content:'· ';}
.kp-session-menu{position:static;flex:none;border:0;margin:0;padding:0}.kp-session-menu>summary{display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:44px;padding:10px 13px;border:1px solid #bfd0c3;border-radius:11px;background:#edf3e8;color:#193f43;font-size:13px;font-weight:700;list-style:none}.kp-session-menu>summary::-webkit-details-marker{display:none}.kp-session-menu>summary:after{content:'⌄';margin-left:8px}.kp-session-menu[open]>summary{background:#dfead7}
.kp-session-menu:not([open])>.kp-session-panel{display:none}.kp-session-panel{position:absolute;z-index:10002;right:max(12px,env(safe-area-inset-right));top:calc(100% + 5px);width:370px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain;padding:20px 20px max(20px,env(safe-area-inset-bottom));border:1px solid #bfd0c3;border-radius:17px;background:#fffdf6;box-shadow:0 12px 40px #193f4330;line-height:1.6}
.kp-session-panel>label{display:grid;gap:8px;font-weight:700;margin-bottom:16px}.kp-session-panel select{width:100%;max-width:none!important;min-height:44px;font-size:15px}
.kp-session-panel .kp-journey-links{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:stretch;justify-content:initial;width:auto}.kp-session-panel .kp-journey-links>a,.kp-session-panel .kp-activity-help{padding:11px 5px;min-height:44px;text-align:left;color:#193f43;font:650 14px/1.5 system-ui;text-decoration:none}.kp-session-panel .kp-journey-links>a:hover,.kp-session-panel .kp-activity-help:hover{text-decoration:underline}
.kp-session-panel :is(.kp-app-controls,.kp-learning-path,.kp-session-worlds){border:0;border-bottom:1px solid #d3dfcd;padding:0;margin:0;position:static;background:none;border-radius:0}.kp-session-panel summary{font-size:14px;cursor:pointer;min-height:44px;padding:11px 5px;font-weight:700;color:#193f43}.kp-session-panel .kp-app-controls>div,.kp-session-panel .kp-learning-path>div{position:static;width:auto;max-width:none;border:0;border-radius:0;box-shadow:none;background:#edf3e8;padding:14px;margin:0 0 12px}.kp-session-panel .kp-session-worlds nav{display:grid;padding:0 8px 12px;gap:2px}.kp-session-worlds nav>a{font-size:13px;min-height:44px;padding:10px 4px;color:#193f43;text-decoration:none}.kp-session-worlds nav>a:hover{text-decoration:underline}
html[data-kp-module]:not(.kp-show-world-intro) .kp-module-welcome{display:none!important}
html[data-kp-module]:not(.kp-show-world-intro) .kp-module-intro{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;padding:20px 24px;margin-block:16px}
html[data-kp-module]:not(.kp-show-world-intro) .kp-module-intro>.kp-module-scene,html[data-kp-module]:not(.kp-show-world-intro) .kp-coding-scene{display:none}
html[data-kp-module]:not(.kp-show-world-intro) .kp-module-intro :is(h1,h2),html[data-kp-module]:not(.kp-show-world-intro) .coding-path-heading h1{font-size:clamp(26px,3.2vw,38px);line-height:1.15;margin:8px 0 12px}
html[data-kp-module]:not(.kp-show-world-intro) .kp-module-intro p{font-size:15px;line-height:1.6;margin-block:8px;max-width:800px}
html[data-kp-module]:not(.kp-show-world-intro) .coding-path-heading{grid-template-columns:minmax(0,1fr)}
html[data-kp-module] .cl-footer{display:none}
@media(max-width:520px){html[data-kp-module] .kp-journey-inner{padding:6px 12px;min-height:58px;gap:8px}.kp-session-context{gap:8px}.kp-session-home img{width:27px;height:27px}.kp-session-title{font-size:12px}.kp-session-menu>summary{padding:9px 10px;font-size:12px}.kp-session-menu>summary:after{margin-left:5px}.kp-session-meta{gap:0 6px}.kp-session-meta .kp-sync{max-width:155px;font-size:10px}.kp-session-meta .planner-time{font-size:10px}html[data-kp-module]:not(.kp-show-world-intro) .kp-module-intro{padding:16px;margin-block:10px}}

/* Imported activity styles must not change the session controls' sizing. */
html[data-kp-module] .kp-journey-bar,html[data-kp-module] .kp-journey-bar *{box-sizing:border-box}
html[data-kp-module=olympix].kp-session-ready :is(header.topbar,header.cl-header){display:none!important}
html[data-kp-module=discovery].kp-session-ready .htw-app-tabs{display:none!important}
.kp-session-discovery{display:grid;border-bottom:1px solid #d3dfcd;padding-bottom:8px;margin-bottom:6px}.kp-session-discovery>a{display:block;min-height:44px;padding:11px 5px;color:#193f43;font-weight:650;text-decoration:none}.kp-session-discovery>a:hover{text-decoration:underline}
/* Keep the menu inside the content viewport, including browsers with scrollbars,
   and isolate it from discovery's article/details spacing. */
.kp-journey-bar .kp-session-menu{padding:0;margin:0;border:0;min-height:0}
.kp-journey-bar .kp-session-menu>summary{margin:0;line-height:1.4}
.kp-journey-bar .kp-session-panel{max-width:calc(100% - 24px)}
.kp-journey-bar .kp-session-meta .kp-sync{min-width:0}

/* Atlas hydration can replace the HTML class list; the mounted bar remains the
   source of truth for hiding duplicate navigation during client-side routing. */
html[data-kp-module]:has(.kp-journey-bar) .kp-site-header,html[data-kp-module=elements]:has(.kp-journey-bar) .site>.site-header,html[data-kp-module=elements]:has(.kp-journey-bar) .site>.site-footer{display:none!important}
.kp-session-panel .kp-session-atlas{position:static;border:0;border-bottom:1px solid #d3dfcd;border-radius:0;margin:0;padding:0;background:none}.kp-session-atlas>nav{display:grid;padding:0 8px 12px;gap:2px}.kp-session-atlas nav>a{min-height:44px;padding:10px 4px;font-size:13px;color:#193f43;text-decoration:none}.kp-session-atlas nav>a:hover{text-decoration:underline}

/* Keep the atlas's full-width selectors inside their tablet grid tracks. */
html[data-kp-module=elements] .site :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}

/* The activity keeps its space; destinations appear only on request. */
html[data-kp-module] .kp-journey-bar{position:sticky;top:env(safe-area-inset-top,0px)}
html[data-kp-module]{scroll-padding-top:calc(var(--kp-session-height,61px) + 16px)}
.kp-session-context{flex:1;min-width:0}.kp-session-meta .kp-sync{max-width:min(220px,100%)}
.kp-session-actions{display:flex;align-items:center;gap:8px;flex:none}
.kp-journey-bar .kp-explore-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:9px 13px;border:1px solid #17695c;border-radius:11px;background:#17695c;color:#fffdf6;font:700 13px/1.4 system-ui;cursor:pointer;white-space:nowrap}
.kp-explore-mark{font-size:19px;line-height:1}.kp-explore-button:hover{background:#12574c}
.kp-offerings-dialog,.kp-offerings-dialog *{box-sizing:border-box}
dialog.kp-offerings-dialog{position:fixed;inset:0;width:940px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;padding:0;border:1px solid #c4d4c7;border-radius:22px;background:#fffdf6;color:#193f43;box-shadow:0 24px 80px #102d4260;font:14px/1.5 system-ui,-apple-system,sans-serif;overflow:auto;overscroll-behavior:contain;text-align:left}
.kp-offerings-dialog::backdrop{background:#102d426b;backdrop-filter:blur(3px)}
.kp-offerings-dialog[open]{display:block}
.kp-offerings-dialog .kp-offerings-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px 18px;margin:0;border:0;border-bottom:1px solid #d6e0d2;background:#fffdf6;color:#193f43}
.kp-offerings-dialog h2{font:750 26px/1.2 system-ui;letter-spacing:-.025em;color:#193f43;margin:0 0 8px}
.kp-offerings-dialog .kp-offerings-head p{font:14px/1.5 system-ui;color:#506663;margin:0;max-width:560px}
.kp-offerings-dialog .kp-offerings-back{flex:none;min-height:44px;margin:0;padding:10px 14px;border:1px solid #b6cabd;border-radius:11px;background:#edf3e8;color:#193f43;font:700 13px/1.4 system-ui;cursor:pointer}
.kp-offerings-body{padding:6px 28px 24px}.kp-offerings-body section{margin:20px 0 0;padding:0;border:0;background:none}
.kp-offerings-dialog h3{font:750 13px/1.5 system-ui;letter-spacing:.03em;text-transform:uppercase;color:#426f64;margin:0 0 10px}
.kp-offerings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kp-offerings-dialog a.kp-offering-card{display:flex;align-items:flex-start;gap:11px;min-width:0;min-height:108px;padding:15px 13px;margin:0;border:1px solid #cad9ca;border-radius:13px;background:#fffefa;color:#193f43;text-decoration:none;text-align:left;box-shadow:none}
.kp-offerings-dialog a.kp-offering-card:hover{border-color:#17695c;background:#edf5ea}
.kp-offerings-dialog a.kp-offering-card[aria-current]{border:2px solid #17695c;padding:14px 12px;background:#edf5ea}
.kp-offering-mark{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:10px;background:#e6eee0;color:#17695c;font:750 12px/1 system-ui}
.kp-offering-copy{display:grid;gap:5px;min-width:0}.kp-offerings-dialog .kp-offering-copy strong{font:750 14px/1.35 system-ui;color:#193f43;overflow-wrap:anywhere}.kp-offering-copy>span{font:12px/1.5 system-ui;color:#506663}.kp-offering-copy small{font:700 11px/1.5 system-ui;color:#17695c}
.kp-offerings-dialog .kp-offerings-foot{display:block;margin:0;padding:14px 28px max(18px,env(safe-area-inset-bottom));border:0;border-top:1px solid #d6e0d2;background:#edf3e8;color:#506663;text-align:left}
.kp-offerings-dialog .kp-offerings-status{font:13px/1.5 system-ui;margin:0;color:#506663}.kp-offerings-dialog .kp-save-error{color:#8a430f;font-weight:650}.kp-offerings-dialog .kp-offerings-foot a{display:inline-block;min-height:44px;padding-top:10px;color:#17695c;font-weight:750}.kp-offerings-dialog [hidden]{display:none!important}
.kp-offerings-body[aria-busy=true] a{opacity:.65;cursor:progress}
@media(max-width:740px){.kp-offerings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-offerings-dialog .kp-offerings-head{gap:14px;padding:20px}.kp-offerings-body{padding:0 20px 20px}.kp-offerings-dialog .kp-offerings-foot{padding-inline:20px}}
@media(max-width:520px){.kp-session-actions{gap:6px}.kp-wide-label{display:none}.kp-journey-bar .kp-explore-button{padding:9px 10px;font-size:12px;gap:5px}.kp-explore-mark{font-size:17px}.kp-session-meta .planner-time{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dialog.kp-offerings-dialog{max-width:calc(100% - 20px);max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:17px}.kp-offerings-dialog .kp-offerings-head{display:grid;gap:12px;padding:18px}.kp-offerings-dialog h2{font-size:22px}.kp-offerings-dialog .kp-offerings-back{justify-self:start}.kp-offerings-body{padding:0 14px 18px}.kp-offerings-grid{grid-template-columns:minmax(0,1fr);gap:8px}.kp-offerings-dialog a.kp-offering-card{min-height:82px;padding:12px}.kp-offerings-dialog a.kp-offering-card[aria-current]{padding:11px}.kp-offerings-dialog .kp-offerings-foot{padding-inline:18px}}
.kp-free-intro{padding:20px;margin-bottom:20px;background:#edf3e8;color:#193f43}.kp-free-intro h2{font-size:22px;margin:8px 0}.kp-free-intro a,.kp-free-next>a{display:inline-block;min-height:44px;margin:10px 12px 0 0}.kp-free-next{margin-top:22px;padding:22px;background:#edf3e8}.kp-free-next h2{font-size:24px}

/* Keep the module clock visible while the activity remains the focus. */
.kp-session-meta a.planner-time{display:block;flex-basis:100%;width:fit-content;font:700 12px/1.4 system-ui;font-variant-numeric:tabular-nums;color:#17695c;text-decoration:none;white-space:nowrap}
.kp-session-meta a.planner-time:not(:empty):before{content:none}.kp-session-meta a.planner-time:hover{text-decoration:underline}.kp-session-meta a.planner-time-low{color:#93420d}
@media(max-width:520px){.kp-session-meta a.planner-time{font-size:11px}}

/* The active Olympix lesson owns its clock, independent of header clipping. */
.kp-session-meta .planner-time[aria-hidden=true]{display:none!important}
html[data-kp-module=olympix] a.kp-activity-time{display:block;position:sticky;top:calc(var(--kp-session-height,61px) + env(safe-area-inset-top,0px) + 4px);z-index:25;box-sizing:border-box;max-width:100%;min-height:44px;margin:0 0 14px;padding:11px 14px;border:1px solid #b8cfc1;border-radius:12px;background:#edf5ed;color:#145d50;font:750 14px/1.5 system-ui;font-variant-numeric:tabular-nums;text-decoration:none;white-space:normal;box-shadow:0 2px 8px #193f4308}
html[data-kp-module=olympix] a.kp-activity-time:hover{text-decoration:underline}html[data-kp-module=olympix] a.kp-activity-time.planner-time-low{color:#93420d;border-color:#dfb68d;background:#fff3e6}
@media(max-width:380px){html[data-kp-module=olympix] a.kp-activity-time{font-size:13px;padding-inline:10px}}
