:root{--journey-lime:#c7f449;--journey-teal:#60d9ca;--journey-pink:#f295c3}
[hidden]{display:none!important}.journey-home,.journey-overview,.journey-path-page,.mission-page{color:#f4f4ea}.journey-home h1,.journey-overview h1,.journey-path-page h1,.mission-page h1{letter-spacing:.02em;line-height:1.03}.journey-home em,.journey-overview em{color:var(--journey-lime);font-style:normal}.journey-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:48px;align-items:center;padding-top:62px;padding-bottom:64px}.journey-hero h1{font-size:clamp(3.5rem,7vw,7rem);margin:16px 0 24px}.journey-hero .lede{max-width:34rem;font-size:1.35rem}.journey-home .button,.journey-overview .button,.journey-path-page .button,.mission-page .button,.student-cta{background:var(--journey-lime);color:#141811;border-color:var(--journey-lime);box-shadow:0 4px 0 #657f23}.journey-art{position:relative;margin:0;transform:rotate(2deg);border:1px solid #566146;background:#202420}.journey-art img{width:100%;height:420px;object-fit:cover}.journey-art figcaption{padding:22px;display:grid;gap:8px}.journey-art figcaption span{font-size:.75rem;letter-spacing:.12em;color:var(--journey-teal)}.art-stamp{position:absolute;right:12px;top:-26px;background:var(--journey-lime);color:#192016;font-size:1rem;font-weight:900;border:3px solid #101510;border-radius:50%;padding:22px;transform:rotate(12deg)}.journey-ticker{text-align:center;border-block:1px solid #566146;padding:20px 12px;color:var(--journey-teal);font-weight:800;letter-spacing:.09em;background:#191e19}.journey-ticker span{margin:0 22px;color:var(--journey-pink)}.journey-features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:32px 0}.journey-features article{border-top:3px solid var(--journey-teal);padding-top:24px}.journey-features article:nth-child(2){border-color:var(--journey-pink)}.journey-features article:nth-child(3){border-color:var(--journey-lime)}.journey-features b{font-size:.75rem;letter-spacing:.08em}.journey-demo-promo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#20261f;border:1px solid #536444;padding:40px}.journey-demo-promo img{width:100%;height:340px;object-fit:cover}.journey-faq details{border-block-end:1px solid #485044;padding:20px 0}.journey-faq summary{font-size:1.25rem;font-weight:800}.journey-overview h1{font-size:clamp(3rem,6vw,5.5rem)}.journey-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0}.journey-card{position:relative;border:1px solid #4c5647;background:#1b201c;padding:26px;display:flex;flex-direction:column;gap:12px;min-width:0}.journey-card:nth-child(3n+2){border-top:3px solid var(--journey-teal)}.journey-card:nth-child(3n){border-top:3px solid var(--journey-pink)}.journey-card h2{font-size:1.65rem;line-height:1.15;margin:0;letter-spacing:.02em}.journey-card .underlink{margin-top:auto}.world-badge{display:inline-grid;place-content:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:var(--journey-lime);font-size:2.4rem;font-weight:900;color:#161e10;box-shadow:0 5px 0 #627534}.journey-card .world-badge{width:52px;height:52px;font-size:1.8rem;margin-bottom:12px}.journey-card.is-current{box-shadow:0 0 0 2px var(--journey-lime)}.journey-stats{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0;font-size:.9rem}.journey-stats strong{font-size:1.7rem;color:var(--journey-lime)}.path-heading{display:flex;gap:24px;align-items:center;margin-top:30px}.path-heading h1{font-size:clamp(2.6rem,5vw,4.5rem);margin:6px 0}.path-continue{margin:24px 0}.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:50px;align-items:start}.path-chapter{background:#191e1bcc;border:1px solid #465342;margin:16px 0;border-radius:18px;overflow:hidden}.path-chapter summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px;cursor:pointer;background:#242e23;list-style:none}.path-chapter summary:after{content:'+';margin-left:auto;font-size:1.5rem}.path-chapter[open] summary:after{content:'−'}.path-chapter summary strong{font-size:1.3rem}.path-chapter summary small{color:#c2cbbd}.path-chapter summary .eyebrow{margin:0;color:var(--journey-lime)}.winding-path{padding:30px 16px 40px;margin:0;list-style:none;position:relative;display:flex;flex-direction:column;align-items:center}.path-node{position:relative;width:80%;max-width:380px;padding:0 0 30px}.path-node:nth-child(4n+1){transform:translateX(-28px)}.path-node:nth-child(4n+3){transform:translateX(28px)}.path-node:after{content:'';height:38px;width:3px;border-left:3px dashed #6b775b;position:absolute;top:72px;left:37px}.path-node:last-child:after{display:none}.path-node a{display:flex;align-items:center;gap:20px;text-decoration:none;min-height:88px}.node-orb{display:grid;place-content:center;flex-shrink:0;width:76px;height:76px;border-radius:50%;background:#303a2d;border:2px solid #7c8b69;box-shadow:0 7px 0 #111a0f;color:#e2ecd9;font-size:2rem;font-weight:900}.node-copy{display:grid;gap:4px;min-width:0}.node-copy strong{font-size:1.12rem;line-height:1.3}.node-copy small{font-size:.75rem;color:#c3cbbd;line-height:1.4}.path-node.current .node-orb{background:var(--journey-lime);border-color:#eeffa8;color:#161f0d;box-shadow:0 7px 0 #708431,0 0 0 6px #c7f44920}.path-node.complete .node-orb{background:var(--journey-teal);color:#122c26;border-color:#b5fff2;box-shadow:0 7px 0 #235e53}.path-node.mini .node-orb{border-radius:22px;background:#774660;border-color:var(--journey-pink)}.path-node.boss .node-orb{background:#3d355d;border-color:#cfb7ff}.journey-companion{position:sticky;top:110px;margin-top:16px;border:1px solid #475142;padding:28px;background:#191e19}.journey-companion img{width:160px;height:160px;object-fit:contain;display:block;margin:0 auto 24px}.journey-companion h2{font-size:1.6rem}.optional-branch{border:1px solid #776042;background:#25201c;padding:22px;margin:24px 0}.optional-branch summary{cursor:pointer;font-size:1.2rem;font-weight:700}.branch-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.branch-links a{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#363029;font-size:.9rem;text-decoration:none;overflow-wrap:anywhere}.demo-finish{padding:36px;border:2px solid var(--journey-lime);background:#242f1c;margin:32px 0}.demo-finish .underlink{display:block;margin-top:24px}.mission-page>h1{font-size:clamp(2.5rem,5vw,4.2rem);margin:20px 0}.mission-page>.eyebrow{margin-top:36px;color:var(--journey-teal)}.mission-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:36px;align-items:start}.mission-placeholder{border:1px solid #56644c;background:#20251e}.mission-placeholder img{width:100%;height:auto}.mission-placeholder p{padding:0 22px 14px}.mission-tracker{border:1px solid #6b8051;padding:28px;background:#20261e;border-radius:18px}.mission-tracker fieldset{border:0;padding:0;margin:0;min-width:0}.mission-tracker h2{font-size:1.75rem}.rep-skill{border-top:1px solid #56644c;padding:18px 0}.rep-skill h3{font-size:1.35rem;line-height:1.3;margin:0 0 8px}.slot-state{color:var(--journey-teal);font-size:.8rem;margin:0 0 4px}.rep-skill>.micro{font-size:.65rem;overflow-wrap:anywhere;display:block;color:#b7c4ae}.mission-tracker .outline{background:transparent;color:var(--journey-lime);box-shadow:none;margin-top:14px}.mission-tracker [role=status],.mission-tracker [role=alert]{min-height:3em;font-size:.9rem}.mission-tracker [role=alert]{color:#ffc1d2}.review-pages{margin-top:24px;display:flex;flex-wrap:wrap;gap:6px}.review-pages p{width:100%;font-size:.85rem}.review-pages a{padding:12px;min-width:44px;text-align:center;background:#35422a;border:1px solid #718956;border-radius:6px}.review-pages .selected{background:var(--journey-lime);color:#132009}.mission-page button:disabled{opacity:.6}.mission-tracker.celebrate{animation:journey-win 900ms ease-out}@keyframes journey-win{50%{box-shadow:0 0 0 9px #c7f44966;transform:translateY(-4px)}}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--journey-teal);outline-offset:5px}progress{accent-color:var(--journey-lime)}
@media(max-width:1000px){.journey-hero{gap:28px}.journey-art img{height:340px}.journey-cards{grid-template-columns:repeat(2,1fr)}.path-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.journey-companion{padding:20px}.mission-grid{gap:24px}}
@media(max-width:720px){.journey-hero,.journey-demo-promo,.mission-grid{grid-template-columns:1fr}.journey-hero{padding-top:32px}.journey-hero h1{font-size:3.5rem}.journey-art{margin:20px 4px 0}.journey-art img{height:300px}.journey-ticker{font-size:.7rem;line-height:2.4}.journey-ticker span{margin:0 8px}.journey-features{grid-template-columns:1fr;gap:24px}.journey-demo-promo{padding:24px}.journey-demo-promo img{height:240px}.journey-cards{grid-template-columns:1fr}.path-layout{grid-template-columns:1fr}.journey-companion{position:static;display:none}.path-heading{gap:16px;align-items:flex-start}.world-badge{width:52px;height:52px;font-size:2rem}.path-heading h1{font-size:2.4rem}.path-chapter summary{padding:18px;gap:8px}.path-chapter summary strong{width:100%;font-size:1.1rem}.path-chapter summary .eyebrow{width:100%}.path-node{width:83%;padding-bottom:26px}.path-node:nth-child(4n+1){transform:translateX(-13px)}.path-node:nth-child(4n+3){transform:translateX(13px)}.path-node a{gap:12px}.node-orb{width:58px;height:58px;font-size:1.6rem}.path-node:after{top:72px;left:28px;height:30px}.node-copy strong{font-size:1rem}.node-copy small{font-size:.65rem}.winding-path{padding-inline:8px}.branch-links{grid-template-columns:1fr}.mission-tracker{padding:18px}.mission-page>h1{overflow-wrap:anywhere}.journey-stats{gap:16px;font-size:.8rem}.journey-overview h1{font-size:2.9rem}.journey-card .button{white-space:normal}.journey-path-page .path-continue{white-space:normal;width:100%;font-size:.8rem}.path-heading .eyebrow{font-size:.65rem}.journey-hero .button-row{align-items:flex-start}.journey-demo-promo h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Carry the existing brick artwork into the integrated practice space. */
main:has(.journey-home),main:has(.journey-overview),main:has(.journey-path-page),main:has(.mission-page){background:#141414 url('/assets/dark-brick-graffiti.svg') center top / 1200px auto repeat}
.journey-home{background:linear-gradient(90deg,#111711b8,#13181365)}
.path-continue{display:inline-block;line-height:1.6}.path-continue [data-next-title]{font-size:inherit;font-weight:800}
@media(max-width:720px){.journey-path-page .path-continue{font-size:.9rem;padding:16px;line-height:1.6}}
.finale-banner{display:flex;align-items:center;gap:32px;padding:36px;border:1px solid #b6a3e6;border-radius:20px;background:radial-gradient(circle at 10% 50%,#67548270,transparent 50%),#24202c;margin:30px 0}.finale-banner>span{display:grid;place-content:center;flex-shrink:0;width:140px;height:140px;border:3px solid #e3d0ff;border-radius:50%;font-size:5rem;color:var(--journey-lime);box-shadow:0 0 0 12px #b6a3e617,0 0 60px #b6a3e630}.finale-banner h2{font-size:2.5rem;margin:8px 0}.finale-banner .eyebrow{color:#e3d0ff}.boss-page .mission-tracker{border-color:#b6a3e6}
@media(max-width:720px){.finale-banner{flex-direction:column;align-items:flex-start;padding:24px;gap:20px}.finale-banner>span{width:90px;height:90px;font-size:3.5rem}.finale-banner h2{font-size:2rem}}

/* Focused practice pages and original 365Karate guardian artwork. */
.journey-path-page.section,.mission-page.section{padding-top:28px}
.path-heading{margin-top:20px;margin-bottom:14px}.path-heading h1{font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.08;margin:8px 0}
.journey-path-page>.lede{margin-bottom:16px}.journey-path-page>.notice{padding:12px 16px;margin:14px 0;font-size:.92rem}
.journey-stats{margin:16px 0;gap:12px}.journey-stats>span{background:#20291f;border:1px solid #394836;border-radius:12px;padding:9px 14px;font-size:.82rem}
.path-continue{margin:20px 0}.path-layout{margin-top:20px}
.node-orb img{display:block;width:100%;height:100%;object-fit:contain}
.path-node.mini:not(.complete) .node-orb,.path-node.boss:not(.complete) .node-orb{background:transparent;border:0;box-shadow:none;width:96px;height:96px}
.journey-companion .guardian-portrait{width:180px;height:180px;object-fit:contain;max-width:100%;filter:drop-shadow(0 7px 0 #0003)}
.journey-companion h2{font-size:1.55rem}.journey-companion p{font-size:.92rem;line-height:1.6}
.mission-page>h1{font-size:clamp(2.05rem,4.5vw,3.4rem);margin:18px 0 12px}.mission-page>.lede{font-size:1.05rem;margin-bottom:24px}
.mission-placeholder img{max-height:248px;object-fit:contain;background:#171b19}
.mission-placeholder p{font-size:.94rem;padding:15px 20px}.mission-tracker{padding:24px}.mission-tracker>h2{margin:12px 0 18px}
.rep-skill h3{font-size:1.25rem}.slot-state{margin-bottom:16px}.mission-tracker [data-save-status]{margin-top:16px;font-size:.9rem}
.guardian-challenge{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:26px;max-width:820px;margin:20px 0 30px;padding:16px 28px 16px 12px;border:1px solid #816185;border-bottom-width:4px;border-radius:22px;background:linear-gradient(120deg,#272132,#182523)}
.guardian-challenge img{width:140px;height:140px;filter:drop-shadow(0 6px 0 #0003)}.guardian-challenge h2{font-size:1.9rem;margin:7px 0}.guardian-challenge p{margin:8px 0}.guardian-challenge progress{width:100%;height:15px;accent-color:#ccf448}.guardian-challenge [data-guardian-label]{font-size:.82rem;color:#dcf1cb;display:block;margin-top:8px}
@media(max-width:600px){.journey-path-page.section,.mission-page.section{padding-top:20px}.path-heading{gap:14px;margin-top:16px}.world-badge{width:52px;height:52px;font-size:1.75rem}.journey-path-page>.lede{font-size:1rem}.journey-stats{gap:6px}.journey-stats>span{padding:8px 10px}.path-node.mini:not(.complete) .node-orb,.path-node.boss:not(.complete) .node-orb{width:80px;height:80px}.mission-placeholder img{max-height:145px}.mission-placeholder p{padding:12px 15px;font-size:.85rem}.mission-tracker{padding:20px}.mission-grid{gap:22px}.mission-page>.lede{margin-bottom:18px}.guardian-challenge{grid-template-columns:86px 1fr;padding:12px;gap:12px;border-radius:16px}.guardian-challenge img{width:86px;height:110px}.guardian-challenge h2{font-size:1.3rem}.guardian-challenge p{font-size:.85rem}.guardian-challenge .eyebrow{font-size:.65rem}.guardian-challenge [data-guardian-label]{font-size:.76rem}.journey-path-page .path-continue{width:100%;justify-content:center}}

.journey-path-page[data-demo-path] .journey-stats>span:last-child{display:none}.journey-path-page[data-demo-path]>.notice{font-size:.85rem;line-height:1.5;margin:10px 0}.journey-path-page[data-demo-path] .path-continue{margin:12px 0}

.encounter-portrait{flex-shrink:0;max-width:100%;height:auto}.node-orb .encounter-portrait{width:100%;height:100%;min-width:0}.journey-companion>.encounter-portrait{display:block;width:160px;margin:0 auto 24px}.guardian-challenge>.encounter-portrait{width:160px}.world-badge{font-family:system-ui,sans-serif}

/* Separate, touch-sized confirmations; partial counts remain available below each target. */
.practice-target{margin:18px 0}.practice-complete{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:104px;padding:16px;text-align:left;white-space:normal;border:2px solid #829766;border-radius:12px;background:#263222;color:#f3f6ed;cursor:pointer;font:inherit;line-height:1.4}
.practice-complete strong{font-size:1.2rem}.practice-complete small{font-size:.85rem}.practice-complete[aria-pressed=true]{border-color:var(--journey-teal);background:#173e33}.practice-complete[aria-pressed=true] strong{color:#b5fff2}.practice-complete[aria-disabled=true]{cursor:default}
.partial-entry{margin-top:6px;font-size:.82rem}.partial-entry summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.5}.partial-entry label{display:block;margin:8px 0}.partial-entry input{width:100%;min-width:0;min-height:48px;font:inherit;font-size:1rem;background:#131a10;color:white;border:1px solid #879b70;border-radius:8px;padding:10px}.practice-history{font-size:.85rem;padding:12px;line-height:1.5}
