:root{--bg:#faf8f5;--sidebar:#fff;--text:#303044;--muted:#858399;--purple:#7757bc;--purple-dark:#5a3e9d;--pale:#f0ebf9;--lavender:#e4d6f3;--border:#eae7ed;--mint:#e6f6ef;--green:#21846c;--peach:#fff0e2;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;display:flex}.sidebar{width:258px;background:#fff;border-right:1px solid var(--border);padding:35px 19px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;margin-bottom:66px}.brand-symbol{width:43px;height:43px;background:#7253bc;color:#fff;border-radius:15px;display:grid;place-items:center;font-family:'Nunito',sans-serif;font-size:32px;font-weight:900;position:relative}.brand-symbol span{font-size:12px;position:absolute;top:3px;right:3px;color:#fceca6}.brand-type{font-family:'Nunito',sans-serif;font-size:21px;letter-spacing:-1px;font-weight:800;line-height:1}.brand-type strong{color:var(--purple)}.brand-type small{font-family:'DM Sans',sans-serif;display:block;font-size:7px;letter-spacing:1.65px;margin-top:8px;color:#aaa0ae;font-weight:800}.sidebar-label{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#a5a0af;padding:0 16px;margin-bottom:17px}.side-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:13px 13px;border:none;background:transparent;border-radius:12px;color:#6e6a7b;font-size:13px;font-weight:700;transition:.2s}.nav-item:hover:not(:disabled){background:#f8f5fc}.nav-item.active{color:var(--purple);background:#f2edfa}.nav-icon{font-size:22px;width:25px;text-align:center;line-height:1}.nav-item.muted{opacity:.5}.nav-soon{margin-left:auto;font-size:9px;background:#f0edf4;border-radius:20px;padding:4px 7px}.sidebar-bottom{margin-top:auto;padding:22px 18px;background:#f4effb;border-radius:16px}.mini-star{font-size:27px;color:var(--purple);margin-bottom:8px}.sidebar-bottom strong{font-family:'Nunito',sans-serif;font-size:14px}.sidebar-bottom p{font-size:12px;line-height:1.7;color:#82778c;margin:7px 0 0}.sidebar-demo{text-align:center;font-size:9px;letter-spacing:1.2px;color:#b8b1be;margin-top:24px}.main-layout{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:79px;padding:0 6%;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:rgba(250,248,245,.9)}.breadcrumb{color:#8e8794;font-size:12px;font-weight:700}.demo-pill{font-size:10px;font-weight:800;letter-spacing:1px;color:#675693;background:#efe9f8;border:1px solid #e4d9f2;padding:9px 13px;border-radius:999px;display:flex;gap:8px;align-items:center}.pulse{height:7px;width:7px;border-radius:50%;background:#9e76db}.mobile-brand{display:none}.content{width:min(1050px,88%);margin:0 auto;padding:44px 0 70px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--purple);text-transform:uppercase;margin:0 0 14px}.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:310px;background:linear-gradient(118deg,#f0e9fa 2%,#f8eff6 57%,#ffeedf 100%);border-radius:24px;overflow:hidden;position:relative;padding:48px 50px 38px}.hero:before{content:'';position:absolute;right:35%;top:29px;color:#d5bfe8;font-size:45px}.hero:after{content:'';position:absolute;right:7%;bottom:25px;color:#decbe7;font-size:24px}.hero h1,.page-title{font-family:'Nunito',sans-serif;letter-spacing:-1.6px;font-weight:900;line-height:1.13}.hero h1{font-size:clamp(31px,3.3vw,47px);margin:0 0 18px}.hero h1 em{font-style:normal;color:var(--purple)}.hero p{font-size:14px;color:#777083;line-height:1.85;max-width:390px;margin:0}.hero-copy{z-index:1}.hero-art{align-self:center;justify-self:center;position:relative;z-index:1}.hero-art img{width:260px;max-width:100%;mix-blend-mode:multiply;filter:drop-shadow(0 13px 15px rgba(96,60,110,.09))}.hero-art .scribble{position:absolute;right:0;top:-12px;font-size:33px;color:#b8a4dc}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:38px 0 17px}.section-heading h2{font-family:'Nunito',sans-serif;font-size:23px;letter-spacing:-.6px;margin:0}.section-heading p{font-size:13px;color:var(--muted);margin:7px 0 0}.section-kicker{font-size:11px;color:var(--purple);font-weight:800}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.module{background:#fff;border:1px solid var(--border);border-radius:20px;text-align:left;padding:27px 27px 22px;min-height:215px;position:relative;transition:transform .18s,box-shadow .18s}.module:not(:disabled):hover,.topic-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #30244912}.module-primary{border-color:#ded2f1;background:#fff}.module-number{font-size:11px;color:#a69ab8;font-weight:800;letter-spacing:1px}.module-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eee6fb;color:var(--purple);font-size:25px;margin:18px 0}.module h3{font-family:'Nunito',sans-serif;font-size:20px;margin:0 0 8px;letter-spacing:-.6px}.module p{font-size:12px;line-height:1.65;color:#918b9a;margin:0;max-width:260px}.module-arrow{position:absolute;right:25px;bottom:27px;color:var(--purple);font-size:25px}.module-disabled{background:#f4f3f5;border:1px dashed #dedbe1;color:#888491;opacity:.8}.module-disabled .module-ico{background:#eae8ed;color:#ada6b4}.module-disabled h3{color:#797580}.module-disabled .module-arrow{color:#a9a3af}.coming-note{margin-top:13px;display:flex;align-items:center;gap:8px;color:#938b9a;font-size:12px;padding-left:5px}.coming-note b{color:#6a6179}.info-strip{margin-top:25px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:17px 21px;display:flex;gap:16px;align-items:center}.info-icon{width:40px;height:40px;border-radius:13px;background:#f9f0dc;color:#a27a31;display:grid;place-items:center;font-size:22px;flex-shrink:0}.info-strip strong{font-size:13px}.info-strip p{font-size:12px;margin:5px 0 0;color:var(--muted);line-height:1.6}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid var(--border);padding:18px 6%;color:#b1aab5;font-size:11px}.back-btn{border:0;background:none;color:#8e7ca5;font-size:12px;font-weight:800;padding:0 0 24px;display:flex;gap:8px;align-items:center}.page-title{font-size:38px;margin:0 0 10px}.lead{font-size:14px;color:#8b8493;line-height:1.75;margin:0}.topic-tools{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:29px 0 20px}.search-wrap{display:flex;align-items:center;gap:10px;border:1px solid #e7e0e9;background:#fff;padding:13px 16px;border-radius:12px;flex:1;max-width:475px;color:#8e85a2}.search-wrap input{min-width:0;flex:1;border:0;background:none;outline:0;color:#403b50;font-size:13px}.level-tag{background:#e9e1f5;color:#6b4aab;font-weight:800;font-size:12px;border-radius:10px;padding:12px 15px;white-space:nowrap}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.topic-card{border:1px solid #ebe6ee;border-radius:18px;background:#fff;padding:23px 20px;min-height:194px;text-align:left;transition:all .2s;position:relative}.topic-icon{height:46px;width:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;font-size:22px}.topic-card h3{font-family:'Nunito',sans-serif;font-size:17px;margin:0 0 6px;letter-spacing:-.3px}.topic-card p{font-size:11px;color:#96909c;margin:0;line-height:1.7}.topic-card .topic-arrow{position:absolute;right:19px;bottom:21px;color:#927bc0;font-size:19px}.topic-empty{grid-column:1/-1;padding:50px;text-align:center;background:white;border-radius:16px;color:var(--muted)}.quiz-shell{max-width:780px;margin:auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.quiz-top .eyebrow{margin:0}.step-text{color:#8b8197;font-weight:700;font-size:12px}.progress-track{height:7px;border-radius:50px;background:#eae3f1;overflow:hidden;margin:18px 0 30px}.progress-fill{height:100%;background:#a586d8;transition:width .3s;border-radius:50px}.question-panel{background:#fff;border:1px solid var(--border);border-radius:22px;padding:35px}.question-category{font-size:11px;color:var(--purple);font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.question-panel h2{font-family:'Nunito',sans-serif;font-size:29px;line-height:1.3;letter-spacing:-.6px;margin:14px 0 8px}.hint-line{color:#9d94a4;font-size:13px;margin:0 0 24px}.choices{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid #eae5ed;border-radius:12px;background:#fff;font-size:14px;color:#484253;transition:background .14s,border .14s;width:100%;text-align:left}.choice:hover{border-color:#b7a4d8}.choice.selected{border-color:#9676c6;background:#f3edfb}.choice.correct{border-color:#61b49e;background:#eaf8f2}.choice.wrong{border-color:#d39a9d;background:#fbeeee}.radio-circle{border:1.5px solid #c8bfd1;border-radius:50%;height:17px;width:17px;flex-shrink:0;display:grid;place-items:center}.choice.selected .radio-circle{border-color:var(--purple)}.choice.selected .radio-circle:after{content:'';height:7px;width:7px;background:var(--purple);border-radius:50%}.difficulty-box{margin-top:24px;padding:22px 0 0;border-top:1px solid #eeeaf0}.difficulty-box h3{font-size:14px;margin:0 0 6px}.difficulty-box p{font-size:12px;color:#97919e;margin:0 0 15px}.difficulty-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.difficulty-btn{background:#fff;border:1px solid #e8e2ed;color:#625a6f;padding:13px 8px;border-radius:10px;font-size:12px;font-weight:700}.difficulty-btn.selected{background:#f2eafa;border-color:#9876cb;color:#6341a8}.quiz-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:24px}.button-primary{border:0;background:var(--purple);color:#fff;padding:15px 25px;border-radius:12px;font-weight:800;font-size:13px;box-shadow:0 8px 16px #7757bc22}.button-primary:hover{background:var(--purple-dark)}.button-primary:disabled{opacity:.45;cursor:not-allowed}.button-link{background:transparent;border:0;color:#81748f;font-size:12px;font-weight:700;padding:12px}.feedback{margin-top:16px;padding:14px 17px;border-radius:11px;font-size:12px;line-height:1.7}.feedback.success{background:#eaf7f1;color:#217659}.feedback.error{background:#fff2e9;color:#ad6243}.summary-panel{text-align:center;background:#fff;border:1px solid var(--border);border-radius:24px;padding:45px 34px;max-width:670px;margin:auto}.summary-emoji{width:75px;height:75px;border-radius:23px;background:#efe7fa;display:grid;place-items:center;font-size:39px;margin:0 auto 19px}.summary-panel h1{font-family:'Nunito',sans-serif;font-size:33px;margin:0 0 10px}.summary-panel .lead{max-width:410px;margin:0 auto 25px}.summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0}.stat{background:#f8f5fb;border-radius:14px;padding:20px}.stat strong{display:block;font-family:'Nunito',sans-serif;color:var(--purple);font-size:29px}.stat small{color:#898193;font-size:11px}.summary-footnote{font-size:12px;color:#93899d;line-height:1.7;background:#f7f3fa;border-radius:13px;padding:14px 18px;margin-bottom:24px}.summary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.star-spark{color:#bd91cf}.demo-caption{font-size:11px;color:#aaa2b1;margin-top:22px}.only-mobile{display:none}@media(max-width:1050px){.sidebar{width:220px}.hero{padding:38px}.topic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{display:none}.mobile-brand{display:flex;gap:9px;align-items:center;background:transparent;border:0;color:#3e3458;font-family:'Nunito',sans-serif;font-size:16px;font-weight:900}.mini-w{width:31px;height:31px;border-radius:10px;background:#7757bc;color:#fff;display:grid;place-items:center;font-size:18px}.breadcrumb{display:none}.topbar{min-height:68px;padding:0 20px}.content{width:calc(100% - 36px);padding:25px 0 55px}.hero{padding:32px 27px 0;grid-template-columns:1fr;min-height:unset}.hero h1{font-size:32px}.hero p{font-size:12px}.hero-art img{width:205px;display:block;margin:auto}.hero-art{margin:5px auto -1px}.hero:before{right:20px;top:25px}.module-grid{grid-template-columns:1fr}.module{min-height:185px}.section-heading{margin-top:32px}.footer{padding:20px;flex-direction:column;gap:5px}.page-title{font-size:30px}.topic-grid{grid-template-columns:1fr 1fr;gap:11px}.topic-card{padding:18px 15px;min-height:181px}.topic-card h3{font-size:15px}.topic-card p{font-size:10px}.topic-tools{margin-top:23px}.quiz-shell{max-width:100%}.question-panel{padding:23px 20px}.question-panel h2{font-size:23px}.difficulty-buttons{grid-template-columns:1fr}.difficulty-btn{text-align:left;padding:12px}.summary-panel{padding:34px 20px}.only-mobile{display:block}}@media(max-width:390px){.topic-grid{grid-template-columns:1fr}.topic-card{min-height:145px}.hero{padding:25px 20px 0}.module{padding:23px}.question-panel{padding:19px 15px}}
/* Stretch action cards evenly across the two columns. */
.module{width:100%}

/* 2026-10-21: czytelny wybór poziomu i kategorii */
.hero-art{display:flex;align-items:center;justify-content:center;min-height:245px;overflow:visible}
.hero-art img{width:min(290px,100%);height:auto;object-fit:contain;display:block}
.hero{overflow:visible}
.level-heading{font-weight:800;font-size:14px;margin:29px 0 13px;color:#544866}
.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.level-card{min-height:114px;border:1px solid #e7dfed;background:white;border-radius:14px;padding:15px 12px;text-align:left;display:flex;flex-direction:column;gap:4px}
.level-card strong{font-family:Nunito,sans-serif;font-size:25px;color:#4c3d63;line-height:1}
.level-card small{font-size:10px;color:#85798e;min-height:25px}
.level-card span{font-weight:700;font-size:10px;color:#7757bc;margin-top:auto}
.level-current{background:#f0e6fc;border:2px solid #9d7bcf}
.level-locked{background:#f4f2f5;opacity:.68;filter:grayscale(1);cursor:not-allowed}
.level-locked span{color:#88818b}
.topic-heading{margin-top:34px}.topic-heading h2{font-family:Nunito,sans-serif;font-size:23px;margin:0 0 5px}.topic-heading p{font-size:12px;color:#93899c;margin:0}
.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 21px}
.category-tab{background:white;border:1px solid #e8e1ed;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800;color:#82788d}
.category-tab.active{background:#7958ba;color:white;border-color:#7958ba}
.topic-tools{margin:20px 0 16px}.topic-type{display:inline-block;font-size:9px;letter-spacing:1px;color:#977caf;font-weight:800;margin-bottom:7px}
@media(max-width:1050px){.level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art{min-height:215px}.hero-art img{width:225px}.hero{overflow:hidden}.category-tabs{gap:6px}.category-tab{padding:9px 11px}}
@media(max-width:390px){.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Panel postępów: mierzone działania w demonstracji */
.learning-overview{margin-top:29px}
.overview-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.overview-heading .eyebrow{font-size:10px;margin-bottom:8px}
.overview-heading h2{font-family:Nunito,sans-serif;font-size:23px;letter-spacing:-.6px;margin:0 0 4px}
.overview-heading p:not(.eyebrow){font-size:12px;margin:0;color:var(--muted)}
.overview-label{font-size:10px;color:var(--purple);font-weight:800;letter-spacing:1px}
.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.overview-stat{background:#fff;border:1px solid #ece7ef;padding:20px 17px;border-radius:15px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.overview-icon{width:32px;height:32px;display:grid;place-items:center;font-size:19px;border-radius:10px;background:#f0e9fa;color:#7453b7;margin-bottom:4px}
.overview-stat strong{font:900 27px/1.2 Nunito,sans-serif;letter-spacing:-.8px;color:#35304a;overflow-wrap:anywhere}
.overview-stat>span:last-child{font-size:11px;font-weight:600;color:#888195}
.overview-note{font-size:12px;color:#706781;margin-top:14px}
.overview-disclaimer{font-size:10px;color:#a7a0ae;margin:8px 0 0;line-height:1.6}
@media(max-width:850px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.overview-stat{padding:15px 12px}.overview-stat strong{font-size:23px}.overview-label{display:none}}

/* Logo-maskotka we wszystkich nagłówkach */
.brand-symbol.mascot-symbol,.mini-w.mascot-symbol{background:#f3ebfd;overflow:hidden;border:1px solid #e9dcfa;box-shadow:0 3px 12px #6b4b9615;border-radius:13px;flex-shrink:0}
.brand-symbol.mascot-symbol img,.mini-w.mascot-symbol img{display:block;width:100%;height:100%;object-fit:cover}
.hero-art img{width:228px;max-width:100%;mix-blend-mode:multiply}

/* Brand artwork, no cut-out, white matte, or artificial outlines */
#main:focus,.main-layout:focus{outline:none}
.brand-symbol.mascot-symbol,.mini-w.mascot-symbol{border:0;background:transparent;box-shadow:none;overflow:visible;border-radius:0}
.brand-symbol.mascot-symbol img,.mini-w.mascot-symbol img{object-fit:contain;width:100%;height:100%}
.hero-art img{width:min(315px,100%);height:auto;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 12px 14px rgba(84,54,117,.1))}
.hero-art{overflow:visible}
.install-btn{border:1px solid #d7c6ec;background:#f1eafb;color:#6445a0;border-radius:11px;padding:10px 14px;font-size:12px;font-weight:800;margin-left:auto}
.install-btn:hover{background:#e7daf6}
@media(max-width:720px){.hero-art img{width:min(250px,100%)}.install-btn{font-size:11px;padding:8px 9px}}

/* Konto ucznia */
.student-nav{display:flex;align-items:center;gap:11px;border:1px solid #e9e0f1;background:#fbf9fd;text-align:left;padding:10px 12px;border-radius:12px;margin-top:16px;width:100%;color:#48385e;font-weight:800;font-size:13px;cursor:pointer}
.student-nav img{width:38px;height:38px;object-fit:contain;border-radius:50%;background:#eee7f7}
.student-nav small{display:block;font-size:10px;font-weight:600;color:#9387a0;margin-top:2px}
.mobile-account{display:none;background:#efe8fa;border:0;border-radius:10px;color:#6145a0;font-size:12px;font-weight:800;padding:9px}
.account-shell{max-width:480px;margin:10px auto 50px;text-align:center;background:white;border:1px solid #eee7f2;border-radius:22px;padding:32px}
.account-shell h1{font:900 32px Nunito,sans-serif;margin:0 0 9px}.account-mascot{width:105px;height:105px;object-fit:contain;margin:0 auto 15px}
.account-form,.profile-form{display:grid;gap:17px;text-align:left;margin-top:25px}
.account-form label,.profile-form label{font-size:12px;font-weight:800;color:#51455f;display:grid;gap:8px}
.account-form input,.profile-form input,.profile-form select{width:100%;background:#fff;border:1px solid #e1d9e8;border-radius:11px;padding:13px;font:500 14px 'DM Sans',sans-serif;color:#453950}
.account-form .button-primary{width:100%;margin-top:2px}.account-shell>.button-link{margin-top:15px}
.account-error{font-size:12px;border-radius:10px;background:#fff0ec;padding:12px;color:#a43e39}.account-success{font-size:12px;background:#e8f6ed;padding:12px;color:#246b4d;border-radius:10px;margin:16px 0}
.account-page{max-width:800px;margin:auto}.profile-head{display:flex;align-items:center;gap:20px;margin-top:28px;background:#f2ebfa;border-radius:16px;padding:20px}.profile-head img{width:95px;height:95px;object-fit:contain;border-radius:50%;background:white}
.profile-head h2{font:900 24px Nunito,sans-serif;margin:0}.profile-head p{font-size:12px;color:#877a94}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-note{font-size:11px!important;font-weight:500;color:#8b8494!important}.profile-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.account-page>#student-logout{margin-top:22px}
@media(max-width:720px){.mobile-account{display:block;margin-left:auto;margin-right:8px}.profile-grid{grid-template-columns:1fr}.account-shell{padding:24px 18px}.profile-head img{width:70px;height:70px}.install-btn{margin-left:0}}

/* Widok gościa: bez nawigacji ucznia */
body.logged-out .side-nav,body.logged-out .sidebar-label,body.logged-out .student-nav,body.logged-out .sidebar-bottom,body.logged-out .sidebar-demo,body.logged-out .breadcrumb,body.logged-out .mobile-account,body.logged-out .install-btn,body.logged-out .footer{display:none!important}
body.logged-out .mobile-brand{pointer-events:none}
body.logged-out .sidebar .brand{margin-bottom:0}
body.logged-out .main-layout{min-height:100vh}
body.logged-out .account-shell{margin-top:min(9vh,75px)}
/* Dekoracje w spójnej palecie bez jaskrawej zieleni */
.mini-star,.star-spark{color:#9b78c9!important}
@media(max-width:720px){body.logged-out .topbar{justify-content:center}body.logged-out .mobile-brand{display:flex}}

/* No emoji ornaments on iOS: remove empty decoration containers */
.hero::before,.hero::after,.hero-art .scribble,.mini-star:empty{display:none!important;content:none!important}
