.journey{max-width:760px;margin:0 auto 50px}.journey-chapter{--trail:#c6f36a;--trail-muted:#566344;margin:35px 0 55px}.journey-chapter.tint-violet{--trail:#bea6fa;--trail-muted:#5b4e70}.journey-chapter.tint-blue{--trail:#8dc9f2;--trail-muted:#3f5f75}.journey-chapter.tint-peach{--trail:#efb78e;--trail-muted:#72563f}.chapter-banner{display:flex;align-items:center;gap:20px;border-block:1px solid #3a4553;padding:24px 12px;background:linear-gradient(110deg,color-mix(in srgb,var(--trail) 6%,transparent),transparent)}.chapter-symbol{display:grid;place-items:center;font-family:'Sora';font-size:35px;color:var(--trail);width:54px;height:54px;flex-shrink:0}.chapter-banner .kicker{font-size:11px;color:var(--trail);letter-spacing:1.5px}.chapter-banner h3{font-size:27px;line-height:1.3;margin:9px 0}.chapter-banner p{font-size:15px;line-height:1.8;color:#a8b8ca;margin:0}.journey-road{position:relative;padding:0;min-height:var(--road-height)}.road-line{position:absolute;inset:0;height:var(--road-height);width:100%;pointer-events:none;overflow:visible}.road-line path{fill:none;stroke:var(--trail-muted);stroke-width:3;stroke-linecap:round;stroke-dasharray:4 9}.road-line path.road-shadow{stroke:#222b35;stroke-width:17;stroke-dasharray:none}.journey-road ol{list-style:none;padding:0;margin:0;position:relative}.road-row{height:210px;position:relative;list-style:none}.journey .path-stop.case-card{position:relative;display:block;padding:0!important;min-height:0!important;height:178px;width:100%;border:0!important;background:none!important;border-radius:0;box-shadow:none;text-align:left;color:#edf1f6;transform:none!important}.stop-disc{position:absolute;left:var(--stop-x);top:95px;transform:translate(-50%,-50%);width:79px;height:79px;background:#262f3a;border:2px solid #566475;border-radius:50%;box-shadow:0 7px 0 #10151c,0 9px 0 #46515d;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;transition:transform .15s,background .15s}.stop-disc>span{font-family:'Sora';font-size:29px;line-height:1.2;color:#b1bdcc}.stop-disc>small{font-size:11px;color:#9ba9bb;letter-spacing:1px;margin-top:2px}.stop-label{position:absolute;top:45px;left:43%;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.stop-eyebrow{font-size:10px;letter-spacing:1.4px;color:#94a5bb;line-height:1.7}.stop-label>strong{font-family:'Sora';font-weight:500;font-size:25px;line-height:1.25;letter-spacing:-.6px}.stop-progress{font-size:13px;line-height:1.7;color:#a2b2c6}.stop-checks{display:flex;gap:5px;margin-top:1px}.stop-checks>i{font-size:12px;font-style:normal;display:grid;place-items:center;width:23px;height:23px;border:1px solid #536073;border-radius:50%;color:#8090a5;background:#1b232e}.stop-checks>i.checked{color:#202817;border-color:var(--trail);background:var(--trail)}.stop-checks>i.practise{color:#c9bba5;border-color:#8b7a5f}.stop-current .stop-disc{background:var(--trail);border-color:#e4f7cb;box-shadow:0 7px 0 var(--trail-muted),0 0 0 10px color-mix(in srgb,var(--trail) 8%,transparent)}.stop-current .stop-disc>span,.stop-current .stop-disc>small{color:#18220d}.stop-current .stop-eyebrow{color:var(--trail)}.stop-go{color:var(--trail);font-size:14px;line-height:1.6;font-weight:600}.stop-complete .stop-disc{border-color:var(--trail);background:#29362a;box-shadow:0 6px 0 #101810,0 8px 0 var(--trail-muted)}.stop-complete .stop-disc>span{color:var(--trail)}.stop-complete .stop-disc>small{color:#c3cdbb}.stop-complete .stop-eyebrow{color:var(--trail)}.path-stop:hover .stop-disc{transform:translate(-50%,-50%) scale(1.06)}.path-stop:active .stop-disc{transform:translate(-50%,-47%);box-shadow:0 3px 0 var(--trail-muted)}.stop-details{position:absolute;top:178px;left:43%;right:0;z-index:2;background:#111214}.stop-details summary{font-size:12px;min-height:32px;padding:5px 0;cursor:pointer;list-style:none;color:#9baec5;display:flex;gap:12px;align-items:center}.stop-details summary>span{font-size:16px}.stop-details[open]{border:1px solid #526174;padding:13px;border-radius:10px;box-shadow:0 15px 35px #0007;z-index:5}.stop-details>div{display:grid;gap:5px;padding-top:8px}.stop-details button{display:flex;align-items:center;gap:9px;background:none;border:0;text-align:left;padding:10px 5px;border-radius:5px;font-size:13px;line-height:1.6;color:#d6e0ed;min-height:46px}.stop-details button:hover{background:#252f3c}.stop-details button>span:first-child{display:grid;place-items:center;border:1px solid #4d5f73;border-radius:50%;min-width:25px;height:25px;font-size:11px;color:#9fb0c7}.stop-details button>.step-checked{background:var(--trail);color:#19210e!important;border-color:var(--trail)!important}.stop-details button>b{margin-left:auto;color:var(--trail);font-size:16px;font-weight:400}.journey-finish{text-align:center;padding:20px 20px 35px;border-top:1px solid #3b495b}.journey-finish>span{display:block;font-size:49px;color:#c6f36a;margin-bottom:18px}.journey-finish h3{font-size:30px}.journey-finish p{font-size:16px;line-height:1.8;color:#aebed2;max-width:480px;margin:15px auto 25px}.journey-finish .button{font-size:16px}.journey .path-stop:focus-visible{outline-offset:2px;border-radius:10px}
.journey .road-row{height:250px}.journey .path-stop.case-card{height:215px}.journey .stop-disc{top:100px}.journey .stop-label{top:36px;gap:6px}.journey .stop-details{top:218px}
.gnista{overflow:visible;display:block}.gnista-intro{display:flex;align-items:center;gap:20px;padding:12px 5px 0}.gnista-intro>.gnista{height:85px;width:85px;flex-shrink:0}.gnista-intro p{display:grid;gap:5px;line-height:1.7;font-size:16px;margin:0}.gnista-intro strong{font-family:'Sora';font-weight:500;color:#eef2e6;font-size:21px}.gnista-intro p>span{font-size:14px;color:#aabbce}.mascot-stop.stop-disc>span{width:75px;height:75px;display:grid;place-items:center}.mascot-stop .gnista{width:72px;height:72px}.mascot-stop.stop-disc{background:#202b35}.stop-current .mascot-stop.stop-disc{background:#283b2a;border-color:#c6f36a}.mascot-stop.stop-disc>small{position:absolute;right:-4px;bottom:-1px;display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;border:2px solid #16201a;background:#c6f36a;color:#1d2b16;font-size:10px;font-weight:700;margin:0}.stop-complete .mascot-stop.stop-disc{background:#25382a}.stop-complete .mascot-stop.stop-disc>small{font-size:14px;color:#1d2b16}.stop-current .mascot-stop .gnista-hand{transform-origin:79px 64px;animation:gnista-wave 2.8s ease-in-out infinite}.path-stop:hover .gnista{transform:rotate(-5deg)}@keyframes gnista-wave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-12deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-9deg)}}@media(max-width:680px){.gnista-intro{gap:16px;padding-top:10px}.gnista-intro>.gnista{height:66px;width:66px}.gnista-intro strong{font-size:19px}.gnista-intro p>span{font-size:13px}.mascot-stop.stop-disc>span{width:61px;height:61px}.mascot-stop .gnista{height:60px;width:60px}.mascot-stop.stop-disc>small{height:22px;min-width:22px;right:-4px;font-size:9px}.stop-complete .mascot-stop.stop-disc>small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.stop-current .mascot-stop .gnista-hand{animation:none}.path-stop:hover .gnista{transform:none}}
/* Ett stabilt ordmärke: inte hoptryckt för att göra plats åt navigationen. */
#header .logo,footer>a{font-family:'Sora','Inter',Arial,sans-serif;font-weight:700;letter-spacing:-.7px;gap:6px;line-height:1.25}
#header .logo>span{width:13px;height:13px;flex-basis:13px;margin:2px 0 0;transform:none}
@media(max-width:680px){body.has-mobile-nav #header .logo,body.has-mobile-nav #header:has(.mobile-subject-back) .logo{font-size:26px!important;font-weight:700!important;letter-spacing:-.7px!important;gap:5px!important;line-height:1.25}body.has-mobile-nav #header .logo>span,body.has-mobile-nav #header:has(.mobile-subject-back) .logo>span{width:12px!important;height:12px!important;flex-basis:12px!important;transform:none!important;margin:2px 0 0!important}}
.mobile-subject-back{display:none}
@media(max-width:680px){body.has-mobile-nav #header:has(.mobile-subject-back){height:auto!important;min-height:69px!important;flex-wrap:wrap!important;gap:3px 10px!important;padding-bottom:4px!important}#header .mobile-subject-back{display:block;order:3;flex:0 0 100%;width:100%;border:0;background:none;color:#b7c4d5;font-size:12px;text-align:left;padding:8px 0 9px;min-height:34px;line-height:1.5}#header .mobile-subject-back:hover{color:#c6f36a}.course-overview>.back{display:none}.course-overview{padding-top:8px!important}.has-mobile-nav #header:has(.mobile-subject-back)~#app [tabindex]{scroll-margin-top:112px}}
@media(max-width:680px){body.has-mobile-nav #header:has(.mobile-subject-back){flex-wrap:nowrap!important;height:69px!important;min-height:69px!important;padding:10px 12px!important;gap:8px!important}#header:has(.mobile-subject-back) .mobile-subject-back{display:block;order:0;flex:0 0 auto;width:auto;white-space:nowrap;padding:8px 0;min-height:44px;font-size:11px;color:#bac8d9}body.has-mobile-nav #header:has(.mobile-subject-back) .logo{font-size:22px!important;letter-spacing:-1.2px;gap:2px}body.has-mobile-nav #header:has(.mobile-subject-back) .user-menu{gap:7px!important}body.has-mobile-nav #header:has(.mobile-subject-back) .user-menu>.xp{font-size:11px!important;gap:6px!important}body.has-mobile-nav #header:has(.mobile-subject-back) .user-menu>.top-cash{padding-left:7px!important;gap:6px!important}body.has-mobile-nav #header:has(.mobile-subject-back) .logout{display:none}body.has-mobile-nav #header:has(.mobile-subject-back) .top-cash-text>span{font-size:12px!important}}
@media(max-width:350px){body.has-mobile-nav #header:has(.mobile-subject-back){gap:6px!important;padding-inline:10px!important}body.has-mobile-nav #header:has(.mobile-subject-back) .logo{font-size:20px!important}#header:has(.mobile-subject-back) .mobile-subject-back{font-size:10px}body.has-mobile-nav #header:has(.mobile-subject-back) .user-menu{gap:5px!important}body.has-mobile-nav #header:has(.mobile-subject-back) .reward-heart{width:12px;height:12px}}
@media(max-width:680px){#header:has(.mobile-subject-back) .mobile-subject-back{display:inline-flex;align-items:center;gap:5px;text-align:left;line-height:1.3;padding:4px 1px;font-size:11px;min-width:44px;min-height:44px}#header .mobile-subject-back>span:first-child{font-size:24px;font-weight:400;line-height:1}#header .mobile-subject-back>span:last-child{display:block;line-height:1.35}}
/* En enda kompakt mobilrad: logga / XP / pott / utloggning. */
@media(max-width:680px){body.has-mobile-nav #header{flex-wrap:nowrap!important;min-height:69px!important;height:69px;padding:10px 17px!important;gap:12px!important}body.has-mobile-nav #header .logo{font-size:25px!important;letter-spacing:-1.3px;min-height:40px!important;flex:0 0 auto;gap:3px}body.has-mobile-nav #header .logo>span{transform:scale(.8);width:11px;flex-basis:11px}body.has-mobile-nav #header .user-menu{flex:1 1 auto;width:auto;flex-basis:auto!important;justify-content:flex-end;gap:11px!important;padding:0!important;border:0;margin:0!important;min-width:0}body.has-mobile-nav #header .user-menu>.xp{min-width:0;font-size:12px!important;gap:7px!important}body.has-mobile-nav #header .user-menu>.top-cash{padding:0 0 0 11px!important;gap:7px!important;white-space:nowrap}body.has-mobile-nav #header .top-cash-text{display:block!important}body.has-mobile-nav #header .top-cash-text>small{display:none!important}body.has-mobile-nav #header .top-cash-text>span{display:flex;flex-direction:column;gap:1px;align-items:flex-start;font-size:13px!important;line-height:1.3}body.has-mobile-nav #header .top-cash-total{font-size:10px!important;line-height:1.3;color:#a9b8cb}body.has-mobile-nav #header .logout{position:static!important;width:29px!important;min-width:29px;height:29px!important;flex-shrink:0;font-size:19px}body.has-mobile-nav #header .reward-heart{width:15px;height:15px}body.has-mobile-nav #header .user-name{display:none}body.has-mobile-nav #header .user-menu .xp .reward-heart{margin:0 2px 0 0}.has-mobile-nav [tabindex],.has-mobile-nav input,.has-mobile-nav textarea,.has-mobile-nav button,.has-mobile-nav summary{scroll-margin-top:86px}.journey{margin:0 0 30px}.journey-chapter{margin:25px 0 40px}.chapter-banner{padding:21px 0;gap:12px}.chapter-symbol{width:40px;height:45px;font-size:29px}.chapter-banner h3{font-size:23px;line-height:1.3;margin:8px 0}.chapter-banner .kicker{font-size:10px}.chapter-banner p{font-size:13px}.stop-disc{width:62px;height:62px}.stop-disc>span{font-size:25px}.stop-disc>small{font-size:10px}.stop-label{left:41%;top:45px;gap:7px}.stop-label>strong{font-size:21px;line-height:1.25;letter-spacing:-.3px}.stop-eyebrow{font-size:8px;letter-spacing:.9px}.stop-progress{font-size:11px}.stop-checks{gap:4px}.stop-checks>i{width:20px;height:20px;font-size:10px}.stop-details{left:41%}.stop-details summary{font-size:11px}.stop-details[open]{left:10%;right:0}.stop-go{font-size:13px}.stop-current .stop-disc{box-shadow:0 6px 0 var(--trail-muted),0 0 0 7px color-mix(in srgb,var(--trail) 8%,transparent)}.journey-finish{padding-inline:5px}.journey-finish h3{font-size:27px}.journey-finish p{font-size:15px}.journey-finish .button{width:100%;font-size:15px}}
@media(max-width:370px){body.has-mobile-nav #header{padding-inline:12px!important;gap:8px!important}body.has-mobile-nav #header .logo{font-size:22px!important;letter-spacing:-1.2px;gap:2px}body.has-mobile-nav #header .user-menu{gap:8px!important}body.has-mobile-nav #header .user-menu>.xp{font-size:11px!important;gap:6px!important}body.has-mobile-nav #header .user-menu>.top-cash{padding-left:8px!important;gap:6px!important}body.has-mobile-nav #header .top-cash-text>span{font-size:12px!important}body.has-mobile-nav #header .logout{width:27px!important;min-width:27px;height:27px!important}body.has-mobile-nav #header .reward-heart{width:14px;height:14px}.stop-label>strong{font-size:20px}.stop-disc{width:56px;height:56px}.stop-checks>i{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.stop-disc{transition:none}.path-stop:hover .stop-disc{transform:translate(-50%,-50%)}}
@media(max-width:680px){body.has-mobile-nav #header:has(.mobile-subject-back) .logo,body.has-mobile-nav #header .logo{font-size:26px!important;font-weight:700!important;letter-spacing:-.7px!important;gap:5px!important;line-height:1.25}body.has-mobile-nav #header:has(.mobile-subject-back) .logo>span{width:12px!important;flex-basis:12px!important;transform:none!important;margin:2px 0 0!important}}
