/* Lyckis Worlds · presentation only. Tasks, mascot, scoring and rewards stay intact. */
@font-face{font-family:Inter;src:url('/fonts/inter.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Sora;src:url('/fonts/sora.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--bg:#151322;--panel:#211e34;--line:#413a5a;--muted:#b6aec8;--text:#f7f4ff;--lime:#d5f991;--purple:#c9b5ff;--orange:#ffbc9c;--report-surface:#211e34;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}
html,body{background:#151322;color:var(--text)}body{font-family:Inter,system-ui,sans-serif;background-image:radial-gradient(ellipse at 0 0,#8a62db13,transparent 50%)}
h1,h2,h3,h4,.logo,body #header .logo,footer>a{font-family:Sora,Inter,sans-serif}h1,h2,h3{font-weight:600;letter-spacing:-.055em}h1{line-height:1.14}p{line-height:1.75}.kicker{font-family:Inter,system-ui,sans-serif;letter-spacing:.13em;font-weight:600;color:#bfb5d5}
body #header,body.has-mobile-nav #header{background:#191627f5;border-color:#3e3655;backdrop-filter:blur(18px)}body #study-progress{background:#191627f5;border-color:#3e3655}#header .logo{color:#f7f4ff}#header nav .nav-button.active{background:#39304f;color:#efe8ff}#header nav .nav-button:hover:enabled{background:#30283f;color:#fff}#header .profile-trigger{background:#302940;border-color:#746389}.user-menu .xp,.top-cash{font-weight:600}
body .button{background:var(--lime);color:#243017;border-color:var(--lime);border-radius:16px;font-weight:700;box-shadow:0 3px 0 #8fac59;gap:14px}body .button:hover:enabled{background:#e0ffad;border-color:#e0ffad;box-shadow:0 4px 0 #8fac59;transform:translateY(-2px)}body .button:active:enabled{transform:translateY(1px);box-shadow:none}body .button.secondary{background:#2a233c;border-color:#5b4e76;color:#eee5ff;box-shadow:none}body .button.secondary:hover:enabled{background:#3a2f50;border-color:#aa91cf;box-shadow:none}body .text-button{color:#d4c0ff}.button-gnista{flex-shrink:0}
body .panel,body .auth-panel,body .mode-card,body .reward-card,body .lab,body .document-row{background:#211d32;border-color:#463b5f;border-radius:22px}.muted,.field-note{color:#b6aec8}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),body textarea{background:#1b1729;color:#f7f4ff;border-color:#5a4d73;border-radius:12px}body input::placeholder,body textarea::placeholder{color:#a398b5}body .lyckis-select-trigger{background:#2a233b;color:#f2eaff;border-color:#5a4d73;border-radius:12px}body .lyckis-select-trigger[aria-expanded=true]{background:#352b48;border-color:#d5f991}body .lyckis-select-menu{background:#292237;border-color:#6a5787}body .lyckis-select-option:hover:enabled,body .lyckis-select-option[data-active=true]{background:#49365e}body .lyckis-select-option[aria-selected=true]{background:#3c3446;color:#e0ffad}body .lyckis-select-trigger.is-placeholder{color:#c1b4d0}
.coach-home{max-width:1180px;padding-top:42px}.coach-greeting{max-width:900px;margin-bottom:28px}.coach-greeting h1{font-family:Sora,sans-serif;font-size:clamp(34px,4.2vw,55px);letter-spacing:-.065em;line-height:1.14}.coach-greeting>p{font-size:16px;max-width:650px;color:#bfb5d0}.coach-greeting>.kicker{color:#cfb2ff}.coach-home>.section-title{margin-top:30px;margin-bottom:20px}.coach-home>.section-title h2{font-size:24px}.coach-home .student-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:32px}
body .world-cards .student-subject.world-card{--world-accent:#e0c5ff;display:block;position:relative;min-width:0;width:100%;padding:0;background:#28213c;border:1px solid #695287;border-radius:28px;box-shadow:0 10px 35px #08061430;overflow:hidden;text-align:left;isolation:isolate;transition:transform .18s,border-color .18s,box-shadow .18s}
body .world-cards .student-subject.geo-card{--world-accent:#a4eee3;background:#182d3a;border-color:#396272}body .world-cards .student-subject.world-card:hover{transform:translateY(-5px);border-color:var(--world-accent);background:#302743;box-shadow:0 18px 45px #08061460}body .world-cards .student-subject.geo-card:hover{background:#1b3441}.world-card-top{position:absolute;inset:22px 24px auto;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:3}.world-label{font-family:Sora,sans-serif;font-size:15px;font-weight:600;color:#fff}.world-count{font-size:11px;padding:7px 10px;border:1px solid #ffffff25;background:#17132770;border-radius:30px;color:#f0e8ff}
.world-art{height:250px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 80% 10%,#a383db50,transparent 70%),#302448}.world-geography{background:radial-gradient(ellipse at 70% 0,#50b6d450,transparent 65%),#173b4c}.world-landscape{position:absolute;inset:auto 0 0;width:100%;height:100%;object-fit:cover}.world-orbit{position:absolute;width:310px;height:310px;right:-90px;top:-90px;border:1px solid #ffffff15;border-radius:50%;z-index:-1}.orbit-two{width:400px;height:400px;right:-135px;top:-135px}.world-star{position:absolute;color:#ead5ff;font-size:24px}.star-one{left:39%;top:35%}.star-two{left:15%;top:20%;font-size:15px;color:#fff8}.world-mascot{position:absolute;left:13%;bottom:7%;width:115px;transform:rotate(-9deg);filter:drop-shadow(0 8px 17px #0004)}.world-mascot>.gnista{display:block;width:100%;height:auto}.world-sticker{position:absolute;left:28px;bottom:16px;font-size:8px;font-weight:700;letter-spacing:.15em;color:#efe2ff;border:1px solid #ffffff40;background:#1b1939b0;border-radius:7px;padding:7px 10px;transform:rotate(-4deg)}.world-geography .world-sticker{color:#c9fff5;background:#153746b0}.world-card-copy{padding:26px 28px 24px}.world-card-copy>.kicker{color:var(--world-accent);font-size:9px;letter-spacing:.14em}body .world-cards .world-card h3{font-family:Sora,sans-serif;font-size:clamp(25px,2.8vw,35px);line-height:1.18;color:#fff;letter-spacing:-.06em;margin:13px 0 14px}body .world-cards .world-card p{color:#c3b7d7;font-size:14px;line-height:1.75;margin:0 0 24px;max-width:380px}body .coach-home .geo-card p{color:#bbd1d8}.world-progress{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#d3c4e6;margin-bottom:10px}.geo-card .world-progress{color:#c2e1e6}.world-card .mini-track{background:#ffffff16;height:6px}.world-card .mini-track i{background:var(--world-accent)}.world-next{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#c4b7d5;margin:13px 0 20px}.geo-card .world-next{color:#bad0da}.world-card-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:17px;border-top:1px solid #ffffff20;color:var(--world-accent);font-size:14px;font-weight:700}.world-card-cta b{font-size:24px;font-weight:400}
body .coach-home .coach-feature{background:linear-gradient(120deg,#2b223e,#231f33);border:1px solid #504161;border-radius:24px;padding:30px;margin-top:24px;grid-template-columns:minmax(0,1fr) 190px}.coach-feature h2{font-size:clamp(25px,3vw,35px);letter-spacing:-.055em}.coach-feature-copy>.kicker{color:#d5f991}.coach-home .coach-feature-copy>p{font-size:16px;color:#c7bed6}.coach-home .coach-feature .hero-actions>span{font-size:12px;color:#bdb0cc}.discovery-art svg{opacity:.65}.coach-home .today-flow{margin:26px 0}.coach-home .today-flow ol{gap:12px;margin:0}.coach-home .today-flow li{padding:14px 18px;border:1px solid #3e3454;border-radius:16px;background:#211b2e;align-items:center;gap:12px}.today-flow li>span{border:0;padding:0;min-width:25px;color:#cfb2ff}.coach-home .today-flow h3{font:500 13px Inter,sans-serif;letter-spacing:0;margin:0}.coach-home .student-daily-goal{border:0;background:none;padding:10px 0 18px}.quiet-rewards{border-color:#443951}.quiet-rewards>div>span{font-family:Sora,sans-serif;color:#d5f991}.student-footnote{color:#b1a3bf}.welcome-letter{border-radius:24px!important;background:#282039!important;border-color:#59446c!important}
body[data-world=geography]{--world-color:#9de9de;--world-soft:#15303a}body[data-world=physics]{--world-color:#d0b6ff;--world-soft:#2c2140}.course-overview .course-hero{position:relative;isolation:isolate;padding:36px;min-height:300px;border-radius:28px;background:linear-gradient(120deg,#282038,#211c30);border:1px solid #4f3e64;overflow:hidden;grid-template-columns:minmax(0,1.7fr) minmax(180px,.8fr);gap:28px;margin-top:18px}.course-overview .course-hero>div:first-child{position:relative;z-index:2}.course-overview .course-hero h1{font-family:Sora,sans-serif;font-size:clamp(30px,3.8vw,48px);max-width:720px;letter-spacing:-.065em;line-height:1.15}.course-overview .course-hero p{color:#cabed7;font-size:14px}.hero-world-art{position:absolute;inset:0 0 0 45%;z-index:-1;opacity:.23;pointer-events:none}.hero-world-art .world-art{height:100%;background:transparent}.hero-world-art .world-sticker{display:none}.hero-world-art .world-mascot{left:35%;width:160px}.course-overview .mastery-panel{background:transparent;border:0;padding:0}.course-knowledge{border-color:var(--world-color);padding-left:22px}.course-knowledge>strong{color:var(--world-color);font-family:Sora,sans-serif}.course-knowledge h3{font-size:20px}.course-knowledge>p{font-size:13px}.mode-grid{gap:16px}.mode-card{padding:24px}.mode-card:hover{border-color:#9476b5;background:#2d233e}.mode-card h3{font-size:20px}.mode-icon{background:#342744;color:#d5bdff}.mode-card p{color:#b9acc9}.chapter-banner{border-color:#4b3b62!important}.chapter-banner h3{font-family:Sora,sans-serif;letter-spacing:-.04em}.journey .chapter-symbol{border-radius:20px;background:#30223f;color:#d4b6ff}.journey .stop-label strong{font-family:Sora,sans-serif;font-size:19px;letter-spacing:-.035em;line-height:1.4}.journey .stop-details>summary,.journey .stop-details[open]>summary{background:#282035;border-color:#59466f;color:#e0d3ef;border-radius:12px}.journey .stop-details>div{background:#221a30;border-color:#59466f;border-radius:12px}.journey .stop-details>div>button{color:#ded0ef}.journey .stop-details>div>button:hover{background:#3b2a4e}.journey .stop-current .stop-disc{box-shadow:0 0 0 7px #b999ef15,0 0 40px #a97bf020}.journey .road-line path{stroke:#655075}.journey-finish{background:linear-gradient(130deg,#2b2440,#1c2836)!important;border-color:#655079!important;border-radius:24px!important}
body .coach-play .play-layout>.panel{background:#211c30;border:1px solid #463654;border-radius:24px;padding:30px}.coach-play .play-layout>.panel h1{font-family:Sora,sans-serif;letter-spacing:-.045em;line-height:1.35;font-size:clamp(25px,3vw,33px)}.coach-play .lesson-text{font-family:Inter,sans-serif;font-size:19px;line-height:1.95;color:#e0d7ec}.coach-play .lesson-text strong{color:#e3ffb0}.coach-play .focus-line{background:#d5f9910a;border-left:3px solid #d5f991;border-radius:0 14px 14px 0;padding:18px 20px}.coach-play .focus-line>p{font-size:16px;color:#e6eddb}.coach-play .focus-line>span{color:#d4e5b7}.coach-play .recall-prompt{border-color:#58416c}.coach-play .recall-prompt .button{background:#32253e;border-color:#705583;color:#e6d7fa}.coach-play .options .option{font-family:Inter,sans-serif;background:#292136;border-color:#59456e;border-radius:16px;padding:18px;color:#f1eafa;font-size:16px}.coach-play .options .option:hover:enabled{background:#382943;border-color:#ba99d6}.coach-play .options .option.selected{background:#34402c;border-color:#d5f991;box-shadow:inset 3px 0 0 #d5f991}.coach-play .options .option>span{background:#362943;color:#d8c1ed;border-color:#6c5182;border-radius:10px}.coach-play .options .option.selected>span{background:#d5f991;color:#263319}.coach-play .matching label,body .order-item{background:#2a2137;border-color:#5b4672;border-radius:14px}.coach-play .exercise-step-strip{background:#251e34;border-color:#503f63;border-radius:16px}.coach-play .exercise-step-strip li{background:#392b49;border-color:#765690;color:#e0c5ff}.coach-play .exercise-step-strip li.step-is-current,.coach-play .exercise-step-strip li.step-is-done{background:#d5f991;border-color:#d5f991;color:#243017}.coach-play .coach-tools{border-color:#594467}.help-choice{background:#2a2136;border-color:#654978;border-radius:14px;color:#e4d1f3}.help-choice:hover{background:#3c2b47;border-color:#b08bc8}.coach-answer p,.coach-answer .coach-local-focus{color:#d4c3e0}.coach-play .play-aside .aside-note{border-color:#7a5b91}.coach-play .play-aside .aside-note p{color:#bfb0cd}.coach-play .formula-card,.geography-visual{background:#241e35!important;border-color:#654e80!important;border-radius:16px!important}.coach-play .feedback.success{background:#273728;border-radius:16px;color:#e1efda}.coach-play .feedback.needs-work{background:#3d2c32;border-radius:16px;border-left-color:#ffbc9c;color:#f2d5cd}.model-review{background:#30233e;border-color:#8b65a2;border-radius:18px}.rubric label{background:#251c30;color:#e8d7f4}.source-details{color:#b7a4c8}.study-progress-track{background:#493650}.study-progress-copy,.study-progress-copy>strong{color:#d2c0df}.run-progress{background:#4b365e}.coach-play .mission-stage>.current{color:#d5f991}.coach-play .step-coach{color:#c3b0d0}
body #mobile-navigation{background:#211a30f5;border-color:#574167;backdrop-filter:blur(14px)}#mobile-navigation>button{color:#bcabcd}#mobile-navigation>button[aria-current]{background:#403049;color:#e0ffad}body.has-mobile-nav #header:has(.mobile-subject-back) .mobile-subject-back{background:#32253e;border-color:#68517b;color:#eee1ff}.cash-vault{background:#241e31;border-color:#5c466b;border-radius:24px}.level-card,.knowledge-board .leaderboard-mine{border-color:#6a527b;background:#271f35}.knowledge-board .leaderboard-list li{border-color:#44314f}.knowledge-board .leaderboard-list li.is-me{background:#d5f99108;border-radius:12px}.reward-card.locked{background:#211c2c}.reward-card.earned{background:#2a2935;border-color:#7f8f63}.gnista-release-dialog{background:radial-gradient(ellipse at 50% 10%,#4a3c62,#261e37 55%,#1b1725);border-color:#9680ae;border-radius:28px}.lyckis-splash{background:radial-gradient(ellipse at 50% 40%,#483365,#261d38 45%,#151322 75%)}footer{border-color:#3e304b;color:#b4a3c3}
/* Admin remains information-dense, sharing the new typography and palette. */
.admin-home .roster-card,.student-report-clean .student-course-card,.student-report-focused .student-account-summary,.admin-directory-course,.reward-editor-dialog,.course-manager-dialog{background:#221c30;border-color:#4d3b60}.admin-home .roster-card:hover{background:#2c223a;border-color:#9878b1}.admin-course-chip{background:#30243e;border-color:#594069}.admin-home .admin-view-switch>button[aria-pressed=true]{color:#f3eaff}.admin-home .admin-dashboard-totals strong{font-family:Sora,sans-serif;font-size:29px}.admin-home-heading h1{font-family:Sora,sans-serif;font-weight:600}.student-course-icon,.linked-subject-icon{background:#382746;color:#d5f991}.student-course-card>summary:hover,.student-course-card[open]>summary{background:#30233f}.preview-card{border:1px solid #654b7a;border-radius:20px;padding:22px;background:#292035}.preview-card p{font-size:12px;color:#c6b1d5}.preview-picker{width:min(520px,calc(100% - 32px));margin:auto;background:#261d34;color:#f7f4ff;border:1px solid #77588f;border-radius:24px;padding:28px}.preview-picker::backdrop{background:#0b0715bf;backdrop-filter:blur(8px)}.preview-picker a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #584067;font-size:16px}.preview-picker a span{font-size:12px;color:#d5f991}.preview-picker>button{margin-top:15px}
#student-preview-notice{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);z-index:95;display:flex;align-items:center;gap:24px;padding:12px 18px;border:1px solid #b99bd2;border-radius:18px;background:#281e38f5;box-shadow:0 6px 40px #0008;color:#f4e8ff;backdrop-filter:blur(15px)}#student-preview-notice>span{display:grid;gap:4px}#student-preview-notice strong{font-size:12px}#student-preview-notice small{font-size:10px;color:#c5b1d2}#student-preview-notice>a{font-size:12px;font-weight:600;color:#d5f991;min-height:44px;display:flex;align-items:center}.student-preview-mode{padding-bottom:100px}.student-preview-mode.has-mobile-nav #student-preview-notice{bottom:calc(78px + env(safe-area-inset-bottom,0px))}.student-preview-mode .challenge [data-action=submit],.student-preview-mode [data-action=self-grade]{opacity:.5}
@media(min-width:1100px){.coach-home .student-subjects{gap:28px}.world-art{height:260px}.coach-home .coach-feature{margin-top:24px}}
@media(max-width:760px){.coach-home .student-subjects{gap:16px}.world-card-top{inset:18px 18px auto}.world-card-copy{padding:22px}.world-art{height:215px}.world-mascot{width:95px}.world-sticker{left:18px;font-size:7px}.course-overview .course-hero{padding:26px;gap:20px;grid-template-columns:minmax(0,1fr) 190px}.course-overview .course-hero h1{font-size:34px}.course-knowledge{padding-left:16px}.coach-home .coach-feature{padding:24px;grid-template-columns:minmax(0,1fr) 130px}.coach-play .play-layout>.panel{padding:25px}.coach-home .today-flow li{padding:14px 12px}}
@media(max-width:580px){.coach-home{padding-top:26px}.coach-greeting h1{font-size:36px}.coach-greeting>p{font-size:15px}.coach-home .student-subjects{grid-template-columns:1fr;gap:20px}.world-art{height:230px}.world-card-copy{padding:24px}.world-card-top{inset:19px 23px auto}body .world-cards .world-card h3{font-size:32px}.world-card-copy>p{max-width:100%}.world-card-top .world-label{font-size:16px}.world-mascot{width:110px;left:13%}.world-sticker{left:24px}.coach-home .coach-feature{display:block;padding:24px}.coach-home .discovery-art{display:none}.coach-home .today-flow ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.coach-home .today-flow li{display:grid;gap:8px;align-content:start;padding:12px 10px}.coach-home .today-flow h3{font-size:11px;line-height:1.5}.today-flow li>span{font-size:14px}.course-overview .course-hero{padding:24px;grid-template-columns:1fr;gap:24px}.course-overview .course-hero h1{font-size:33px}.course-overview .course-hero p{font-size:14px}.course-overview .mastery-panel{display:block}.course-knowledge>strong{font-size:34px;margin:8px 0}.course-knowledge h3{font-size:18px}.hero-world-art{inset:0 0 0 20%;opacity:.12}.coach-play .play-layout>.panel{padding:22px 18px;border-radius:20px}.coach-play .lesson-text{font-size:18px;line-height:1.9}.coach-play .play-layout>.panel h1{font-size:26px}.coach-play .options .option{font-size:16px;padding:16px}.coach-play .focus-line{padding:16px}.journey .stop-label strong{font-size:17px}.preview-card{padding:18px}#student-preview-notice{gap:14px;padding:9px 12px;border-radius:14px}#student-preview-notice strong{font-size:11px}#student-preview-notice small{font-size:9px;max-width:180px}#student-preview-notice>a{font-size:11px;max-width:95px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){body .world-cards .student-subject.world-card,body .button{transition:none}body .world-cards .student-subject.world-card:hover,body .button:hover:enabled{transform:none}}

/* Keep equal-height card copy and restrained number chips on narrow screens. */
.world-card-copy>p{min-height:3.5em}.coach-home .today-flow li>span{width:25px;min-width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-family:Inter,sans-serif}
/* Keep centered desktop navigation clear of account totals with the wider Inter face. */
@media(min-width:681px) and (max-width:1024px){#header>nav .nav-button{padding-inline:8px}#header>nav[aria-label="Huvudmeny"]{gap:3px}}

/* Keep native scrolling and keyboard navigation, without visible scrollbars. */
html,body,body *{scrollbar-width:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

.knowledge-board .board-metrics:not(:has(.board-money)),.knowledge-board .board-stat-head:not(:has(.heart-pink)){grid-template-columns:repeat(3,minmax(0,1fr))}

/* Public entrance: a short purpose, a calm purple form, one clear next action. */
body .landing.polished-landing{max-width:1160px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;padding:54px 30px;align-items:center;min-height:calc(100svh - 180px)}
.polished-landing .landing-copy{padding:12px 0}
.polished-landing .landing-copy>.kicker{display:block;color:#c4a3df;font-size:10px;letter-spacing:.14em;line-height:1.8;margin-bottom:20px}
body .polished-landing h1{font-size:clamp(40px,4.2vw,59px);line-height:1.15;letter-spacing:-.055em;margin:0 0 24px;color:#f8f3ff}
body .polished-landing h1 em{color:#d5f991}
body .polished-landing .landing-copy>p{font-size:16px;line-height:1.9;max-width:440px;color:#c2b4d1;margin:0}
.landing-promise{display:block;margin-top:24px;color:#e2d2f0;font-size:12px;line-height:1.8}
body .landing.polished-landing .auth-panel{width:100%;max-width:none;padding:30px;border:1px solid #614879;border-radius:24px;background:linear-gradient(145deg,#2c213b,#231c31);box-shadow:0 20px 70px #09051030}
body .polished-landing .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 24px;padding:5px;border:1px solid #624875;border-radius:14px;background:#392b48}
body .polished-landing .auth-tabs button{min-height:48px;padding:11px 10px;font-size:16px;font-weight:500;border:0;border-radius:10px;background:transparent;color:#cdbbdc;box-shadow:none;transform:none}
body .polished-landing .auth-tabs button.selected{background:#604479;color:#fff;box-shadow:0 2px 7px #130a2025}
body .polished-landing .auth-tabs button:not(.selected):hover{background:#493357;color:#f8f1ff}
.polished-landing .auth-intro{margin-bottom:24px}
body .polished-landing .auth-intro h2{font-size:25px;line-height:1.3;letter-spacing:-.04em;margin:0 0 8px;color:#f6efff}
.polished-landing .auth-intro p{font-size:12px;line-height:1.8;color:#c6b2d6;margin:0}
body .polished-landing #auth-form label{font-size:16px;margin-bottom:19px;color:#e5d9f0}
body .polished-landing #auth-form input{min-height:52px;font-size:16px;padding:13px 15px;background:#31263f;border:1px solid #765a8b;border-radius:12px;margin-top:9px;color:#f9f4ff}
body .polished-landing #auth-form input::placeholder{color:#b7a2c6}
body .polished-landing #auth-form .lyckis-select-trigger{min-height:52px;background:#31263f;border-color:#765a8b;color:#f9f4ff}
body .polished-landing #auth-form .lyckis-select-trigger.is-placeholder{color:#b7a2c6}
body .polished-landing .password-wrap>button{top:4px;right:8px;min-height:44px;color:#d6bce9;padding:10px}
body .polished-landing #auth-form .button{min-height:52px;border-radius:12px;margin-top:4px;font-size:15px}
body .polished-landing #auth-form .field-note{font-size:11px;line-height:1.8;color:#c1acd2;margin:0 0 20px}
body .polished-landing .form-error{font-size:12px;line-height:1.8;color:#ffc0b6;margin:0 0 16px}
@media(max-width:900px) and (min-width:761px){body .landing.polished-landing{gap:32px;padding-inline:26px}body .landing.polished-landing .auth-panel{padding:24px}body .polished-landing h1{font-size:43px}}
@media(max-width:760px){body .landing.polished-landing{grid-template-columns:minmax(0,1fr);max-width:560px;padding:32px 24px 44px;gap:28px;min-height:auto}.polished-landing .landing-copy{padding:0}.polished-landing .landing-copy>.kicker{font-size:9px;margin-bottom:15px}body .polished-landing h1{font-size:43px;margin-bottom:18px}body .polished-landing .landing-copy>p{font-size:14px;line-height:1.85}.landing-promise{margin-top:16px;font-size:11px}body .landing.polished-landing .auth-panel{padding:25px;border-radius:21px}body .polished-landing .auth-intro h2{font-size:23px}}
@media(max-width:380px){body .landing.polished-landing{padding:26px 18px 36px;gap:24px}body .polished-landing h1{font-size:36px}body .landing.polished-landing .auth-panel{padding:21px 18px}body .polished-landing .auth-tabs button{padding-inline:7px}}

/* Welcome everyone: the public header explains the fun, not a returning-user assumption. */
body #header:has(>.public-header-pitch){display:flex;flex-wrap:nowrap;align-items:center;gap:20px}
#header:has(>.public-header-pitch)>.logo{flex-shrink:0}
.public-header-pitch{display:grid;gap:5px;max-width:360px;min-width:0;margin-left:auto;text-align:right}
.public-header-pitch strong{font:600 15px/1.45 Inter,sans-serif;color:#e9d9f9;letter-spacing:-.01em}
.public-header-pitch>span{font-size:11px;line-height:1.6;color:#d5f991}
.polished-landing .landing-benefits{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:23px 0 0;padding:0;list-style:none}
.landing-benefits>li{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.7;color:#e5d3f4;white-space:nowrap}
.landing-benefits .reward-heart{width:16px;height:16px;flex-shrink:0}.landing-benefits>li>span[aria-hidden]{font-size:16px;color:#d5f991}
body .polished-landing .auth-next-step{font-size:12px;line-height:1.9;color:#cbb6db;margin:22px 0 0;padding-top:18px;border-top:1px solid #5c426f}
.auth-next-step>button{display:inline;padding:0;border:0;background:none;color:#d5f991;font:600 12px/1.9 Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;transform:none}
@media(max-width:760px){.public-header-pitch{max-width:205px;gap:3px}.public-header-pitch strong{font-size:12px}.public-header-pitch>span{font-size:10px}.polished-landing .landing-benefits{gap:10px 14px;margin-top:18px}.landing-benefits>li{font-size:11px}}
@media(max-width:380px){body #header:has(>.public-header-pitch){gap:12px}.public-header-pitch{max-width:142px}.public-header-pitch strong{font-size:11px}.public-header-pitch>span{font-size:9px}}

.landing-benefits>li>.gnista{display:block;width:22px;height:24px;flex:0 0 22px;filter:none}
.landing-benefits .benefit-progress{display:block;width:17px;height:17px;flex-shrink:0;color:#d5f991}
#header .public-header-pitch{max-width:460px}
#header .public-header-pitch>.landing-benefits{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px 16px;list-style:none;margin:0;padding:0}
#header .public-header-pitch .landing-benefits>li{font-size:11px;gap:6px;line-height:1.6}
#header .public-header-pitch .reward-heart,#header .public-header-pitch .benefit-progress{width:14px;height:14px}
#header .public-header-pitch .gnista{width:18px;height:20px;flex-basis:18px}
@media(max-width:760px){#header .public-header-pitch{max-width:220px}#header .public-header-pitch>strong{display:none}#header .public-header-pitch>.landing-benefits{gap:2px 10px}#header .public-header-pitch .landing-benefits>li{font-size:10px}}
@media(max-width:380px){#header .public-header-pitch{max-width:148px}#header .public-header-pitch .landing-benefits>li{font-size:9px}#header .public-header-pitch .gnista{height:16px;width:15px;flex-basis:15px}}

/* A lightweight public illustration of the real bubble-to-bubble learning loop. */
body>footer.public-journey-footer{display:flex;flex-wrap:wrap;gap:24px;max-width:1224px}
.public-journey-demo{flex:0 0 100%;width:100%;min-width:0;padding:28px 30px;margin:0 0 8px;border:1px solid #604676;border-radius:24px;background:linear-gradient(120deg,#2b2039,#201a2e);color:#f3eafa}
.public-journey-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.public-journey-heading h2{font-size:27px;letter-spacing:-.045em;margin:9px 0 10px}.public-journey-heading p{font-size:12px;line-height:1.8;color:#c6b4d7;margin:0;max-width:600px}
.public-journey-heading .kicker{font-size:9px;color:#c2a3dd}
.public-journey-controls{display:flex;gap:10px;flex-shrink:0}.public-journey-controls>.button{font-size:11px;min-height:44px;padding:10px 14px;border-color:#7d5f93;background:#362746}
.public-journey-demo figure{margin:0}.public-journey-scene{display:block;width:100%;height:260px;overflow:visible}
.demo-node-halo{fill:#ad84e80a;stroke:#a47dcd20;stroke-width:1}.demo-bubble{fill:url(#demo-bubble-fill);stroke:#c5a6ef;stroke-width:2}.demo-bubble-shine{fill:none;stroke:#f1e6ff;stroke-width:4;stroke-linecap:round}.demo-bubble-shine-dot{fill:#dfc9f8;opacity:.45}.demo-node-dot{fill:#705888}.is-active>.demo-node-dot{fill:#d5f991}
.demo-pop{fill:none;stroke:#d5f991;stroke-width:3;stroke-linecap:round}.demo-cheer rect,.demo-cheer>path{fill:#d5f991}.demo-cheer text{fill:#29381c;font:600 20px Inter,sans-serif}
.public-journey-demo .gnista{width:100%;height:100%;cursor:default!important;pointer-events:none;filter:none;animation:none}
.public-journey-demo figcaption{display:grid;gap:18px;text-align:center}.public-journey-caption{font-size:13px;line-height:1.8;color:#e2d2f1;min-height:24px}.public-journey-steps{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#bda7ce;border-top:1px solid #5b426b;padding-top:17px;line-height:1.8}
@media(max-width:760px){.public-journey-demo{padding:22px 18px;border-radius:19px}.public-journey-heading{align-items:flex-start;flex-direction:column;gap:16px}.public-journey-heading h2{font-size:24px}.public-journey-heading p{font-size:12px}.public-journey-scene{height:190px}.public-journey-caption{font-size:11px}.public-journey-steps{gap:9px;font-size:9px}.public-journey-controls{gap:8px}.public-journey-controls>.button{font-size:10px}}

/* The journey belongs to the first impression, not a separate footer section. */
body .landing.polished-landing{max-width:1200px;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:64px;padding-block:42px}
body .landing.polished-landing .landing-copy{min-width:0;padding:0}
body .landing.polished-landing .auth-panel{max-width:480px;justify-self:end}
body .landing.polished-landing h1{font-size:clamp(40px,4.2vw,58px);margin-bottom:18px}
body .landing.polished-landing .landing-copy>p{max-width:470px;font-size:15px;line-height:1.85}
.landing-journey-host{margin-top:18px}
body .landing-copy .public-journey-demo{display:block;flex:none;width:100%;min-width:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body .landing-copy .public-journey-demo figure{margin:0}
body .landing-copy .public-journey-scene{width:100%;height:auto;aspect-ratio:760/300;overflow:visible}
body .landing-copy .public-journey-demo figcaption{display:grid;gap:14px;text-align:left}
.public-journey-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}
body .landing-copy .public-journey-caption{font-size:11px;line-height:1.7;min-height:0;color:#cbb7df}
body .landing-copy .public-journey-controls{gap:8px}
body .landing-copy .public-journey-controls>.button{font-size:10px;padding:8px 10px;min-height:36px;border-color:#60466f;border-radius:10px;background:transparent;box-shadow:none}
body .landing-copy .public-journey-steps{border-top:0;padding:0;gap:12px;font-size:10px;color:#bfa7d3}
@media(max-width:1000px) and (min-width:761px){body .landing.polished-landing{gap:32px;padding-inline:26px}body .landing.polished-landing h1{font-size:42px}.public-journey-bottom{flex-wrap:wrap;gap:8px}body .landing-copy .public-journey-controls{margin-left:auto}}
@media(max-width:760px){body .landing.polished-landing{max-width:560px;grid-template-columns:minmax(0,1fr);padding:28px 24px 40px;gap:28px}body .landing.polished-landing h1{font-size:40px;margin-bottom:15px}body .landing.polished-landing .landing-copy>p{font-size:14px}body .landing.polished-landing .auth-panel{justify-self:stretch;max-width:none}.landing-journey-host{margin-top:16px}.public-journey-bottom{flex-wrap:wrap;gap:9px}body .landing-copy .public-journey-controls{margin-left:auto}body .landing-copy .public-journey-demo figcaption{gap:12px}body .landing-copy .public-journey-steps{font-size:9px;gap:8px}}
@media(max-width:380px){body .landing.polished-landing{padding-inline:18px;gap:25px}body .landing.polished-landing h1{font-size:35px}body .landing-copy .public-journey-controls>.button{padding-inline:9px}}

/* Give the public message and the illustrated steps a readable, balanced scale. */
#header .public-header-pitch{max-width:510px;gap:7px}
#header .public-header-pitch>strong{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.025em}
.public-header-pitch>strong>em{font-style:normal;color:#d5f991}
body .landing.polished-landing .landing-description{max-width:none;font-size:15px;line-height:1.9}
.landing-description>span{display:block}
body .landing-copy .public-journey-steps{font-size:13px;line-height:1.7;gap:15px;color:#d6c2e6;font-weight:500}
body .landing-copy .public-journey-caption{font-size:12px;color:#d0bcdf}
@media(max-width:1000px) and (min-width:761px){body .landing-copy .public-journey-steps{font-size:11px;gap:10px}body .landing.polished-landing .landing-description{font-size:14px}}
@media(max-width:760px){#header .public-header-pitch{max-width:220px}body .landing.polished-landing .landing-description{font-size:14px;line-height:1.9}body .landing-copy .public-journey-steps{font-size:11px;gap:10px}body .landing-copy .public-journey-caption{font-size:12px}}
@media(max-width:380px){#header .public-header-pitch{max-width:148px}body .landing.polished-landing .landing-description{font-size:13px}body .landing-copy .public-journey-steps{font-size:11px;gap:7px}}

/* Public header: brand left, the three promises centered, personal message right. */
body #header:has(>.public-header-pitch){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:22px}
#header>.public-header-benefits{display:flex;align-items:center;justify-content:center;gap:22px;list-style:none;margin:0;padding:0;min-width:0}
#header>.public-header-benefits>li{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;color:#e2d3ef}
#header>.public-header-benefits .reward-heart,#header>.public-header-benefits .benefit-progress{width:21px;height:21px;flex-shrink:0}
#header>.public-header-benefits .gnista{width:27px;height:29px;flex:0 0 27px}
#header>.public-header-pitch{justify-self:end;max-width:280px;margin:0;text-align:right}
#header>.public-header-pitch>strong{font-size:18px;line-height:1.5}
@media(min-width:761px) and (max-width:1099px){body #header:has(>.public-header-pitch){grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:24px;row-gap:4px;padding-block:13px;height:auto;min-height:96px}#header:has(>.public-header-pitch)>.logo{grid-column:1;grid-row:1/3}#header>.public-header-pitch{grid-column:2;grid-row:1;max-width:none}#header>.public-header-benefits{grid-column:2;grid-row:2;justify-content:flex-end;gap:16px}#header>.public-header-benefits>li{font-size:10px;gap:6px}#header>.public-header-benefits .reward-heart,#header>.public-header-benefits .benefit-progress{width:17px;height:17px}#header>.public-header-benefits .gnista{width:22px;height:24px;flex-basis:22px}}
@media(max-width:760px){body #header:has(>.public-header-pitch){grid-template-columns:auto minmax(0,1fr);gap:16px}#header>.public-header-pitch{display:none}#header>.public-header-benefits{justify-content:flex-end;flex-wrap:wrap;gap:3px 10px}#header>.public-header-benefits>li{font-size:9px;gap:5px;letter-spacing:.025em}#header>.public-header-benefits .reward-heart,#header>.public-header-benefits .benefit-progress{width:14px;height:14px}#header>.public-header-benefits .gnista{width:17px;height:19px;flex-basis:17px}}
@media(max-width:380px){body #header:has(>.public-header-pitch){gap:12px}#header>.public-header-benefits>li{font-size:8px}#header>.public-header-benefits{gap:2px 6px}}

/* Follow the same three beats as the character: read, release, next mission. */
.public-journey-toggle{display:block;width:100%;min-width:0;padding:0;margin:0;border:0;border-radius:12px;background:transparent;color:inherit;box-shadow:none;cursor:pointer}
.public-journey-toggle:hover:enabled{background:transparent;transform:none}
body .landing-copy .public-journey-bottom{display:block;text-align:center}
body .landing-copy .public-journey-caption{display:block;text-align:center;min-height:22px}
body .landing-copy .public-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center}
.public-journey-steps>[data-demo-step]{color:#a895bd;transition:color .2s;text-align:center}
.public-journey-steps>[data-demo-step].is-current{color:#d5f991;font-weight:600}

/* The public top bar spans the screen, rather than exposing a boxed 1320px backdrop. */
body #header:has(>.public-header-pitch){width:100%;max-width:none;margin:0;border-bottom:1px solid #493950;padding-inline:clamp(24px,4vw,80px);background:#1d1829}
@media(min-width:1100px){body #header:has(>.public-header-pitch){height:88px;min-height:88px;gap:28px}#header>.public-header-benefits{gap:25px}#header>.public-header-benefits>li{font-size:13px;gap:10px}#header>.public-header-benefits .reward-heart,#header>.public-header-benefits .benefit-progress{width:22px;height:22px}#header>.public-header-benefits .gnista{width:29px;height:31px;flex-basis:29px}#header>.public-header-pitch{max-width:310px}#header>.public-header-pitch>strong{font-size:20px}}
@media(max-width:760px){body #header:has(>.public-header-pitch){padding-inline:24px}}
@media(max-width:380px){body #header:has(>.public-header-pitch){padding-inline:18px}}

/* Authenticated students need the same full-width bar, not a cropped center backdrop. */
body #header:has(>nav[aria-label="Huvudmeny"]){width:100%;max-width:none;margin-inline:0;overflow:visible}
@media(min-width:1100px){body #header:has(>nav[aria-label="Huvudmeny"]){padding-inline:clamp(32px,4vw,80px)}}
body #header>nav[aria-label="Huvudmeny"]{overflow:visible}
body #header>nav[aria-label="Huvudmeny"]>.nav-button{min-width:max-content;overflow:visible;text-overflow:clip}

@media(min-width:681px) and (max-width:1099px){
 body #header:has(>nav[aria-label="Huvudmeny"]){display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;height:auto;min-height:100px;gap:6px 16px;padding-block:10px}
 body #header>nav[aria-label="Huvudmeny"]{position:static;transform:none;grid-column:1/-1;grid-row:2;justify-self:center;max-width:100%}
 body #header:has(>nav[aria-label="Huvudmeny"])>.user-menu{grid-column:2;grid-row:1;justify-self:end}
 body #header:has(>nav[aria-label="Huvudmeny"])>.logo{grid-column:1;grid-row:1}
}



/* Four admin destinations use their own row on compact desktop widths. */
@media(min-width:681px) and (max-width:1150px){
 body.is-admin-workspace #header.admin-workspace-header{display:flex!important;flex-wrap:wrap!important;height:auto!important;min-height:110px;padding-block:12px;gap:12px;align-items:center}
 body.is-admin-workspace #header.admin-workspace-header>nav[aria-label="Administration"]{position:static!important;transform:none!important;left:auto!important;order:10!important;flex:0 0 100%!important;width:100%!important;max-width:100%;justify-content:center;margin:0;gap:12px}
 body.is-admin-workspace #header.admin-workspace-header>.user-menu{margin-left:auto}
}
