:root {
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --border:#dce4ef;
  --text:#111827;
  --muted:#66758a;
  --primary:#2563eb;
  --primary-soft:#eaf1ff;
  --success:#168a50;
  --danger:#d84545;
  --shadow:0 8px 30px rgba(36,54,82,.06);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
body{font-size:15px}
.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;background:#fff;border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.sidebar>.brand{flex:0 0 auto}

.brand{font-weight:800;font-size:16px;display:flex;align-items:center;gap:9px}
.brand-mark{font-size:20px}
.nav{display:flex;flex-direction:column;gap:7px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8d4e5 transparent}
.nav::-webkit-scrollbar{width:6px}
.nav::-webkit-scrollbar-thumb{background:#c8d4e5;border-radius:999px}
.nav::-webkit-scrollbar-track{background:transparent}
.nav a{padding:12px 13px;border:1px solid transparent;border-radius:10px;display:flex;gap:10px;align-items:center}
.nav a:hover,.nav a.active{background:var(--primary-soft);border-color:#aac4ff;color:#174eb8}
.sidebar-bottom{margin-top:0;border-top:1px solid var(--border);padding-top:12px;flex:0 0 auto;background:#fff}
.sidebar-bottom form{margin:0}

.profile-link{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}
.profile-link span:last-child{display:flex;flex-direction:column;min-width:0}
.profile-link strong{display:block;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-link small{color:var(--muted)}
.link-button{border:0;background:transparent;color:var(--muted);padding:8px;cursor:pointer}
.main{min-width:0}
.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}
.topbar-sub{margin-left:12px}
.page{padding:28px;max-width:1500px;margin:0 auto}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
.eyebrow{display:block;color:var(--primary);font-weight:800;font-size:12px;letter-spacing:.04em;margin-bottom:6px}
.muted{color:var(--muted)}
.pill{padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.page-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-heading h1{font-size:31px;margin:4px 0 7px}
.page-heading p{margin:0}
.btn{border:1px solid var(--border);background:#fff;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-success{background:var(--success);color:#fff;border-color:var(--success)}
.btn-ghost{background:#fff}
.btn-big{padding:14px 20px}
.btn-full{width:100%}
.flash{padding:12px 15px;border-radius:10px;margin-bottom:15px;background:#eaf1ff;border:1px solid #bfd0f7}
.progress{height:10px;background:#edf1f6;border:1px solid var(--border);border-radius:99px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--primary);border-radius:99px}
.progress.small{height:8px}
.continue-card{padding:20px;display:grid;grid-template-columns:1fr 180px;gap:22px;margin-bottom:18px}
.continue-main{display:flex;flex-direction:column;gap:12px}
.exp-box{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.exp-box strong{font-size:21px}
.section-card{padding:18px;margin-bottom:18px}
.section-card h2{margin:4px 0 4px}
.section-card>p{margin-top:4px}
.chapter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.chapter-card{box-shadow:none;padding:14px;min-height:190px;display:flex;flex-direction:column;gap:8px}
.chapter-card:hover{border-color:#9bb9ff;transform:translateY(-1px)}
.chapter-card strong{font-size:16px}
.chapter-card p{font-size:13px;color:var(--muted);line-height:1.45;flex:1;margin:0}
.chapter-number{font-size:12px;color:#315fae;font-weight:700}
.locked{opacity:.58;cursor:not-allowed}
.lesson-list{overflow:hidden}
.lesson-row{padding:15px 18px;display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--border)}
.lesson-row:last-child{border-bottom:0}
.lesson-row:hover:not(.locked){background:#f7faff}
.lesson-row span:nth-child(2){display:flex;flex-direction:column;gap:5px}
.lesson-row small{color:var(--muted)}
.back-link{display:inline-block;color:#3b65a8;margin-bottom:10px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.stat{padding:18px;display:flex;flex-direction:column;gap:8px}
.stat span{color:var(--muted)}
.stat strong{font-size:26px}
.form-card{padding:20px;max-width:700px}
.form{display:flex;flex-direction:column;gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:650}
.form input{border:1px solid var(--border);border-radius:8px;padding:11px 12px;background:#fff}
.help-text{font-weight:400;color:var(--muted);line-height:1.4}
.field-error{color:var(--danger)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#f6f8fc,#eaf1ff)}
.auth-card{width:min(520px,100%);padding:30px}
.auth-brand{margin-bottom:28px}
.auth-card h1{font-size:30px;margin-bottom:8px}
.auth-switch{text-align:center;margin-top:18px;color:var(--muted)}
.auth-switch a{color:var(--primary);font-weight:700}
.landing{min-height:100vh;padding:0 6vw;background:linear-gradient(135deg,#fbfcff 0%,#eef4ff 100%)}
.landing-nav{height:80px;display:flex;align-items:center;justify-content:space-between}
.landing-actions,.hero-actions{display:flex;gap:10px}
.hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;padding:40px 0 90px}
.hero h1{font-size:56px;line-height:1.03;letter-spacing:-.04em;max-width:760px;margin:12px 0 18px}
.hero p{font-size:19px;color:var(--muted);line-height:1.6;max-width:680px}
.hero-stats{display:flex;gap:32px;margin-top:32px}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-size:25px}
.hero-stats span{color:var(--muted)}
.hero-code{padding:20px;background:#111827;color:#dbeafe;border-color:#1f2937}
.hero-code pre{overflow:auto;font-size:15px;line-height:1.65}
.console-demo{background:#080d16;border-radius:9px;padding:14px;margin-top:15px;color:#92f7be}
.lesson-layout{display:grid;grid-template-columns:260px minmax(310px,.82fr) minmax(420px,1.18fr);gap:14px;align-items:start}
.lesson-sidebar{position:sticky;top:86px;max-height:calc(100vh - 105px);overflow:auto;padding:14px}
.lesson-sidebar h3{margin:3px 0 12px}
.lesson-mini-list{display:flex;flex-direction:column;gap:4px}
.lesson-mini-list a,.lesson-mini-list>div{display:grid;grid-template-columns:24px 1fr;gap:7px;padding:9px;border-radius:8px;font-size:13px}
.lesson-mini-list a.current{background:var(--primary);color:#fff}
.lesson-mini-list a:hover:not(.current){background:#eef4ff}
.theory-column,.workspace-column{display:flex;flex-direction:column;gap:12px}
.lesson-head,.theory-card,.task-card,.editor-card,.input-card,.console-card{padding:14px}
.lesson-head h1{font-size:21px;margin:3px 0}
.theory-card h3,.task-card h3{margin:2px 0 9px;font-size:15px}
.theory-card p,.task-card p,.theory-card li,.task-card li{line-height:1.55}
.code-example{background:#f6f8fb;border:1px solid var(--border);border-radius:9px;padding:14px;overflow:auto;min-height:110px;max-height:330px;font-family:Consolas,"Cascadia Code",monospace;font-size:14px;line-height:1.55}
.task-card{max-height:430px;overflow:auto}
.card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.syntax-editor{
  --editor-font:Consolas,"Cascadia Code","Courier New",monospace;
  --editor-size:15px;
  --editor-line:20px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  height:390px;
  border:1px solid var(--border);
  border-radius:9px;
  overflow:hidden;
  background:#fbfcfe;
}
.project-syntax-editor{height:560px}
.syntax-gutter{
  position:relative;
  overflow:hidden;
  background:#f1f4f8;
  border-right:1px solid #d8e0eb;
  user-select:none;
}
.syntax-gutter-inner{
  position:absolute;
  top:0;
  right:0;
  left:0;
  margin:0;
  padding:12px 10px 12px 4px;
  text-align:right;
  color:#8995a6;
  font-family:var(--editor-font);
  font-size:var(--editor-size);
  line-height:var(--editor-line);
  white-space:pre;
  will-change:transform;
}
.syntax-stage{
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:#fbfcfe;
}
.syntax-highlight,
.syntax-input{
  position:absolute;
  inset:0;
  margin:0;
  border:0;
  padding:12px 14px;
  width:100%;
  height:100%;
  font-family:var(--editor-font)!important;
  font-size:var(--editor-size)!important;
  line-height:var(--editor-line)!important;
  font-weight:400;
  font-style:normal;
  font-variant-ligatures:none;
  letter-spacing:0;
  tab-size:4;
  white-space:pre;
  overflow-wrap:normal;
  word-wrap:normal;
}
.syntax-highlight{
  z-index:1;
  width:max-content;
  min-width:100%;
  min-height:100%;
  overflow:visible;
  pointer-events:none;
  background:transparent!important;
  color:#1f2937;
  will-change:transform;
}
.syntax-highlight code{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  white-space:pre!important;
  background:transparent!important;
}
.syntax-input{
  z-index:2;
  resize:none;
  overflow:auto;
  outline:none;
  background:transparent;
  color:transparent;
  caret-color:#2563eb;
  -webkit-text-fill-color:transparent;
  cursor:default;
}
.syntax-input::selection{
  background:rgba(37,99,235,.22);
}
.syntax-input::-moz-selection{
  background:rgba(37,99,235,.22);
}
.syntax-editor:focus-within{
  border-color:#7aa5ff;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

/* Kolory Pythona — lokalne PrismJS */
.syntax-highlight .token.comment{color:#6b7280;font-style:italic}
.syntax-highlight .token.keyword{color:#7c3aed;font-weight:600}
.syntax-highlight .token.string{color:#15803d}
.syntax-highlight .token.number{color:#c2410c}
.syntax-highlight .token.boolean,
.syntax-highlight .token.builtin{color:#0369a1}
.syntax-highlight .token.function{color:#1d4ed8}
.syntax-highlight .token.operator{color:#b42318}
.syntax-highlight .token.class-name{color:#a16207}
.syntax-highlight .token.punctuation{color:#475569}
.input-editor{width:100%;min-height:80px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:10px;font-family:Consolas,monospace}
.lesson-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
.engine-status{font-size:12px;color:var(--muted);padding:0 3px}
.console-card pre{min-height:125px;max-height:280px;overflow:auto;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:12px;margin:0;white-space:pre-wrap;font-family:Consolas,monospace}
.mini-btn{border:1px solid var(--border);background:white;border-radius:7px;padding:5px 9px;cursor:pointer}
.check-result,.hint-box{display:none;padding:13px 15px;border-radius:10px}
.check-result.show,.hint-box.show{display:block}
.check-result.success{background:#eaf9f1;border:1px solid #a6ddbf;color:#126b3e}
.check-result.error{background:#fff0f0;border:1px solid #efb1b1;color:#a42525}
.hint-box{background:#fff8e5;border:1px solid #f0d695}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.project-card{padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:none}
.project-icon{font-size:24px}
.difficulty{color:#8a6816;font-size:12px;font-weight:700}
.project-card p{color:var(--muted);line-height:1.45;flex:1}
.project-workspace{display:grid;grid-template-columns:360px 1fr;gap:14px}
.project-info{padding:20px}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.achievement{padding:20px;display:flex;flex-direction:column;gap:8px}
.achievement-icon{font-size:34px}
.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.help-steps{grid-template-columns:repeat(3,1fr)}
.help-item{box-shadow:none;padding:14px;display:flex;flex-direction:column;gap:7px}
.help-item p{color:var(--muted);line-height:1.5;margin:0}
.step-number{width:30px;height:30px;background:var(--primary-soft);color:var(--primary);font-weight:800;border-radius:8px;display:grid;place-items:center}
@media(max-width:1200px){
  .chapter-grid{grid-template-columns:repeat(3,1fr)}
  .lesson-layout{grid-template-columns:220px 1fr}
  .workspace-column{grid-column:2}
}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .nav{display:grid;grid-template-columns:repeat(5,1fr)}
  .sidebar-bottom{display:none}
  .topbar{position:relative}
  .lesson-layout{grid-template-columns:1fr}
  .lesson-sidebar{position:relative;top:0;max-height:none}
  .workspace-column{grid-column:auto}
  .chapter-grid,.project-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .hero{grid-template-columns:1fr}
  .hero h1{font-size:43px}
  .help-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .page{padding:16px}
  .nav{grid-template-columns:repeat(2,1fr)}
  .topbar{padding:0 16px}
  .chapter-grid,.project-grid,.help-grid,.help-steps,.achievement-grid{grid-template-columns:1fr}
  .continue-card,.project-workspace{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:36px}
  .landing{padding:0 20px}
  .landing-nav .brand span:last-child{display:none}
}

.version-badge{
  display:inline-block;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  background:#eaf1ff;
  border:1px solid #bcd0ff;
  color:#2456bd;
  font-size:11px;
  vertical-align:middle;
}
.syntax-editor::before{
  content:"PY";
  position:absolute;
  z-index:5;
  right:9px;
  top:8px;
  padding:2px 6px;
  border-radius:6px;
  background:#eef4ff;
  color:#3766ba;
  font:700 10px/1.5 "Segoe UI",sans-serif;
  pointer-events:none;
}
.syntax-editor{position:relative}


/* WEB v0.2 — workspace projektów */
.project-web-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}
.project-web-layout .project-info{position:sticky;top:86px;max-height:calc(100vh - 105px);overflow:auto;padding:20px}
.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.project-meta span{padding:6px 9px;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;font-size:12px;font-weight:700}
.requirements-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.requirement-item{display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:start;padding:9px 10px;border:1px solid var(--border);background:#fafbfd;border-radius:9px}
.requirement-item small{grid-column:2;color:var(--muted);line-height:1.35}
.requirement-item.passed{background:#effbf4;border-color:#a8dfc0}
.requirement-item.failed{background:#fff4f4;border-color:#efb8b8}
.requirement-item.manual{background:#fff9e9;border-color:#ead697}
.project-status-box{margin-top:16px;padding:12px;border-radius:10px;background:var(--primary-soft);border:1px solid #bfd0f7;display:flex;flex-direction:column;gap:5px}
.project-code-column{display:flex;flex-direction:column;gap:12px}
.project-actions{display:grid;grid-template-columns:1fr 1.2fr auto auto;gap:8px}
.project-check-result{display:none;padding:14px 16px;border-radius:10px;line-height:1.5}
.project-check-result.show{display:block}
.project-check-result.success{background:#eaf9f1;border:1px solid #a6ddbf;color:#126b3e}
.project-check-result.error{background:#fff0f0;border:1px solid #efb1b1;color:#a42525}
@media(max-width:1050px){
  .project-web-layout{grid-template-columns:1fr}
  .project-web-layout .project-info{position:relative;top:0;max-height:none}
}
@media(max-width:700px){
  .project-actions{grid-template-columns:1fr 1fr}
}


/* WEB v0.3 — konto, e-mail i odzyskiwanie hasła */
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px;font-size:13px}
.auth-links a,.auth-secondary-link{color:var(--primary);font-weight:700}
.auth-secondary-link{display:block;text-align:center;margin-top:14px}
.auth-info-card{text-align:center}
.auth-big-icon{font-size:46px;margin-bottom:10px}
.local-email-box{text-align:left;background:#fff8e5;border:1px solid #eed798;border-radius:10px;padding:13px;margin:18px 0;line-height:1.5}
.local-email-box p{margin:7px 0;color:#665421}
.local-email-box code{display:block;overflow-wrap:anywhere;background:#fffdf5;border:1px solid #eadcae;border-radius:6px;padding:8px;color:#5c4c1b}


/* WEB v0.3.1 — korekta kursora edytora */
.syntax-editor,
.syntax-stage,
.syntax-input,
.syntax-highlight{
  cursor:default;
}

/*
Textarea i warstwa Prism muszą mieć identyczne metryki.
Mniejsza wysokość linii powoduje, że natywna kareta nie wystaje
tak mocno ponad kolorowane litery.
*/
.syntax-highlight,
.syntax-input,
.syntax-gutter-inner{
  line-height:20px!important;
}

.syntax-input{
  caret-color:#2563eb;
}

/* focus pozostaje wyraźny mimo użycia zwykłej strzałki myszy */
.syntax-editor:focus-within{
  border-color:#4f82ff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}


/* WEB v0.3.2 — precyzyjne wyrównanie karety do kolorowanego tekstu */
.syntax-input{
  padding-top:17px !important;
  padding-bottom:7px !important;
}

/* Warstwa kolorowanego kodu zostaje na 12 px. */
.syntax-highlight{
  padding-top:12px !important;
  padding-bottom:12px !important;
}

/* WEB v0.4 — profil, level, streak, historia i osiągnięcia */
.profile-hero{padding:22px;display:grid;grid-template-columns:1fr minmax(360px,.8fr);gap:24px;align-items:center;margin-bottom:14px}
.profile-identity{display:flex;align-items:center;gap:16px}
.profile-avatar-large{width:78px;height:78px;border-radius:22px;background:linear-gradient(135deg,#2563eb,#6d5dfc);color:#fff;display:grid;place-items:center;font-size:32px;font-weight:800;box-shadow:0 10px 25px rgba(37,99,235,.22)}
.profile-identity h1{margin:3px 0 7px;font-size:29px}
.profile-meta-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted)}
.verified-badge,.warning-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.verified-badge{background:#eaf9f1;border:1px solid #a6ddbf;color:#126b3e}
.warning-badge{background:#fff7e4;border:1px solid #efd592;color:#7b5d10}
.level-panel{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:14px}
.level-circle{width:78px;height:78px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:5px solid #bcd0ff;color:var(--primary)}
.level-circle small{font-size:9px;font-weight:800;letter-spacing:.06em}.level-circle strong{font-size:28px;line-height:1}
.level-copy{display:flex;flex-direction:column;gap:8px}.level-progress{height:9px}
.profile-stats{grid-template-columns:repeat(6,1fr)}.profile-stats .stat{min-width:0}.profile-stats .stat small{color:var(--muted)}
.profile-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}
.history-card{padding:20px}.history-card h2,.profile-account-card h2{margin:4px 0 8px}.profile-account-card{max-width:none}
.activity-timeline{display:flex;flex-direction:column}
.activity-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}
.activity-row:last-child{border-bottom:0}
.activity-icon{width:38px;height:38px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center}
.activity-copy{min-width:0}.activity-copy strong{display:block}.activity-copy p{margin:4px 0;color:var(--muted);font-size:13px}.activity-copy small{color:var(--muted)}
.activity-reward{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;font-weight:700;color:#315fae}
.empty-state{padding:34px;text-align:center;color:var(--muted)}.empty-state span{display:block;font-size:34px;margin-bottom:8px}.empty-state strong{display:block;color:var(--text);margin-bottom:5px}
.account-links{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.account-links a{color:var(--primary);font-weight:700}
.dashboard-level-box{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px}
.dashboard-level-number{width:54px;height:54px;border-radius:50%;background:#fff;border:4px solid #bcd0ff;display:grid;place-items:center;font-size:21px;font-weight:800;color:var(--primary)}
.dashboard-level-box>div:last-child{display:flex;flex-direction:column;gap:6px}
.dashboard-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.mini-stat{padding:14px;display:flex;align-items:center;gap:11px}.mini-stat>span{font-size:26px}.mini-stat div{display:flex;flex-direction:column}.mini-stat small{color:var(--muted);margin-top:2px}
.dashboard-activity{margin-bottom:18px}.compact-heading{display:flex;justify-content:space-between;align-items:center}.small-link{font-size:13px;color:var(--primary);font-weight:700}
.dashboard-activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.dashboard-activity-item{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}
.activity-icon-small{width:30px;height:30px;display:grid;place-items:center;background:#fff;border-radius:8px}
.dashboard-activity-item div{display:flex;flex-direction:column;min-width:0}.dashboard-activity-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.dashboard-activity-item small{color:var(--muted);margin-top:3px}
.achievements-heading{align-items:center}.achievement-summary{padding:13px 16px;display:flex;align-items:center;gap:10px;min-width:150px}.achievement-summary>span{font-size:28px}.achievement-summary div{display:flex;flex-direction:column}.achievement-summary strong{font-size:20px}.achievement-summary small{color:var(--muted)}
.achievement-grid.expanded{grid-template-columns:repeat(4,1fr)}.achievement-grid.expanded .achievement{min-height:200px}.achievement-grid.expanded .achievement p{flex:1}
@media(max-width:1250px){.profile-stats{grid-template-columns:repeat(3,1fr)}.achievement-grid.expanded{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.profile-hero{grid-template-columns:1fr}.profile-columns{grid-template-columns:1fr}.dashboard-mini-stats{grid-template-columns:repeat(2,1fr)}.achievement-grid.expanded{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.profile-identity{align-items:flex-start}.profile-avatar-large{width:60px;height:60px;border-radius:17px;font-size:25px}.level-panel{grid-template-columns:70px 1fr}.level-circle{width:64px;height:64px}.profile-stats,.dashboard-mini-stats,.dashboard-activity-grid,.achievement-grid.expanded{grid-template-columns:1fr}.activity-row{grid-template-columns:38px 1fr}.activity-reward{grid-column:2;align-items:flex-start;flex-direction:row}}


/* WEB v0.5 — Panel autora */
.author-heading{align-items:center}
.author-stats{grid-template-columns:repeat(4,1fr)}
.author-chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.author-chapter-card{padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:none}
.author-chapter-card:hover{border-color:#9bb9ff;transform:translateY(-1px)}
.author-chapter-card p{color:var(--muted);line-height:1.45;flex:1;margin:0}
.author-counts{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted)}
.author-counts span{padding:5px 7px;background:var(--surface-2);border-radius:6px}
.author-edited-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#fff6dd;border:1px solid #edd38d;color:#795b0b;font-size:11px;font-weight:800;white-space:nowrap}
.author-recent-list,.author-item-list{display:flex;flex-direction:column;margin-top:12px}
.author-recent-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--border)}
.author-recent-row:last-child{border-bottom:0}
.author-recent-row div{display:flex;flex-direction:column;gap:3px}
.author-recent-row small{color:var(--muted)}
.author-recent-row a{color:var(--primary);font-weight:700;font-size:13px}
.author-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.author-item-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:12px 5px;border-bottom:1px solid var(--border)}
.author-item-row:last-child{border-bottom:0}
.author-item-row:hover{background:#f8faff}
.author-item-icon{width:32px;height:32px;display:grid;place-items:center;background:var(--surface-2);border-radius:8px}
.author-item-row div{display:flex;flex-direction:column;gap:3px;min-width:0}
.author-item-row small{color:var(--muted)}
.author-edit-heading{align-items:flex-start}
.author-heading-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.author-heading-actions form{margin:0}
.btn-danger-soft{background:#fff1f1;border-color:#efb7b7;color:#a42b2b}
.author-info-banner{padding:12px 14px;border-radius:10px;background:#fff8e5;border:1px solid #efd897;color:#695516;margin-bottom:14px}
.author-form{padding-bottom:90px}
.author-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.author-field{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}
.author-field.full{grid-column:1/-1}
.author-field label{display:block;font-weight:800;margin-bottom:7px}
.author-field input,.author-field textarea,.author-field select{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 11px;background:#fbfcfe;color:var(--text)}
.author-field textarea{resize:vertical;line-height:1.5}
.author-field .author-code-field{font-family:Consolas,"Cascadia Code",monospace;tab-size:4}
.author-savebar{position:sticky;bottom:14px;margin-top:14px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:15px;box-shadow:0 15px 45px rgba(25,45,80,.15);z-index:5}
.author-savebar>div{display:flex;flex-direction:column;gap:3px}
.author-savebar small{color:var(--muted)}
.project-author-grid .author-field:not(.full){align-self:start}

@media(max-height:820px) and (min-width:901px){
  .sidebar{padding-top:12px;padding-bottom:12px;gap:10px}
  .nav{gap:4px}
  .nav a{padding:9px 11px}
  .nav-section-label{margin-top:7px;padding-top:7px}
  .profile-link{padding:6px 8px}
  .link-button{padding:6px 8px}
}
@media(max-width:1100px){
  .author-chapter-grid{grid-template-columns:repeat(2,1fr)}
  .author-two-columns{grid-template-columns:1fr}
}
@media(max-width:760px){
  .author-stats,.author-chapter-grid,.author-form-grid{grid-template-columns:1fr}
  .author-field.full{grid-column:auto}
  .author-savebar{align-items:stretch;flex-direction:column}
  .author-savebar .btn{width:100%}
  .author-item-row{grid-template-columns:34px minmax(0,1fr) 20px}
  .author-item-row .author-edited-badge{grid-column:2}
}


/* WEB v0.6 — Centrum komunikacji */
.global-communications{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.global-communication{
  display:grid;grid-template-columns:42px minmax(0,1fr) 34px;gap:10px;align-items:start;
  padding:13px 14px;border-radius:11px;border:1px solid #bfd0f7;background:#eef4ff
}
.global-communication.maintenance{background:#fff8e5;border-color:#eed798}
.global-communication.important{background:#fff0f0;border-color:#efb4b4}
.global-communication-icon{font-size:23px;width:34px;height:34px;display:grid;place-items:center}
.global-communication-copy strong{display:block;font-size:15px}
.global-communication-copy p{margin:5px 0;line-height:1.5}
.global-communication-copy small{color:var(--muted)}
.communication-dismiss{width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.7);font-size:20px;cursor:pointer;color:#64748b}
.communication-dismiss:hover{background:white;color:#111827}
.author-communication-callout{
  padding:17px;margin-bottom:16px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;align-items:center;background:linear-gradient(135deg,#f8fbff,#eef4ff)
}
.author-communication-icon{font-size:32px;width:50px;height:50px;display:grid;place-items:center;background:#fff;border:1px solid #c8d8f7;border-radius:13px}
.author-communication-callout h2{margin:2px 0 4px}.author-communication-callout p{margin:0;color:var(--muted);line-height:1.45}
.communication-heading{align-items:center}
.communication-stats{grid-template-columns:repeat(2,minmax(0,220px))}
.communication-list{display:flex;flex-direction:column}
.communication-row{
  display:grid;grid-template-columns:42px minmax(0,1fr) 180px 20px;gap:11px;align-items:center;
  padding:13px 5px;border-bottom:1px solid var(--border)
}
.communication-row:last-child{border-bottom:0}.communication-row:hover{background:#f8faff}
.communication-type-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--surface-2);font-size:21px}
.communication-row-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.communication-row-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.communication-row-copy small{color:var(--muted)}
.communication-row-stats{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.communication-row-stats small{color:var(--muted)}
.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.status-pill.sent{background:#eaf9f1;color:#126b3e;border:1px solid #a6ddbf}
.status-pill.draft{background:#fff8e5;color:#755a10;border:1px solid #efd897}
.communication-form{padding-bottom:90px}
.communication-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.communication-field{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}
.communication-field.full{grid-column:1/-1}.communication-field label{display:block;font-weight:800;margin-bottom:7px}
.communication-field input[type=text],.communication-field input[type=datetime-local],.communication-field textarea,.communication-field select{
  width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 11px;background:#fbfcfe;color:var(--text)
}
.communication-field select[multiple]{min-height:180px}
.communication-field input[type=checkbox]{width:auto;margin-right:7px}
.communication-help{padding:14px;margin-top:12px}.communication-help>div{display:flex;flex-direction:column;gap:6px;margin-top:8px;color:var(--muted)}
.communication-preview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:14px;align-items:start;margin-bottom:14px}
.communication-preview-card,.communication-summary{padding:18px}.communication-summary{position:sticky;top:86px}
.preview-announcement{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px;border:1px solid #bfd0f7;background:#eef4ff;border-radius:11px;margin-bottom:18px}
.preview-announcement.maintenance{background:#fff8e5;border-color:#eed798}.preview-announcement.important{background:#fff0f0;border-color:#efb4b4}
.preview-announcement-icon{font-size:25px}.preview-announcement strong{font-size:16px}.preview-announcement p{line-height:1.55}
.email-preview{border:1px solid var(--border);border-radius:11px;padding:18px;background:#fff}.email-preview-top{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.email-preview h2{margin:17px 0 10px}.email-preview p{line-height:1.6}
.summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}
.communication-action-stack{display:flex;flex-direction:column;gap:8px;margin-top:16px}.sent-summary-box{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:9px;background:#eaf9f1;border:1px solid #a6ddbf;margin:15px 0}
.delivery-table-wrap{overflow:auto;margin-top:12px}.delivery-table{width:100%;border-collapse:collapse}.delivery-table th,.delivery-table td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.delivery-table th{background:var(--surface-2)}
.communication-local-mail{margin-top:14px}
@media(max-width:1000px){
  .communication-preview-grid{grid-template-columns:1fr}.communication-summary{position:relative;top:0}
  .communication-row{grid-template-columns:40px minmax(0,1fr) 20px}.communication-row-stats{grid-column:2;align-items:flex-start;flex-direction:row}
}
@media(max-width:720px){
  .author-communication-callout{grid-template-columns:48px 1fr}.author-communication-callout>.btn{grid-column:1/-1}
  .communication-form-grid{grid-template-columns:1fr}.communication-field.full{grid-column:auto}
  .communication-stats{grid-template-columns:1fr 1fr}
}


/* WEB v0.9 — diagnostyka e-mail */
.email-diagnostics-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:14px;
  align-items:start
}
.email-config-card,.email-test-card{padding:20px}
.email-test-card h2{margin:5px 0 8px}
.email-test-result{
  margin-top:14px;padding:12px 14px;border-radius:9px;font-weight:700
}
.email-test-result.ok{background:#eaf9f1;border:1px solid #a6ddbf;color:#126b3e}
.email-test-result.error{background:#fff0f0;border:1px solid #efb4b4;color:#9c2929}
.verified-email-box{
  margin-top:14px;padding:11px 12px;border-radius:9px;
  background:#eaf9f1;border:1px solid #a6ddbf;color:#126b3e;font-weight:700
}
@media(max-width:850px){
  .email-diagnostics-grid{grid-template-columns:1fr}
}


/* WEB v0.10.1 — duże potwierdzenie ukończenia zadania */
body.completion-modal-open{overflow:hidden}
.completion-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}
.completion-modal.show{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.completion-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.56);
  backdrop-filter:blur(3px);
}
.completion-modal-card{
  position:relative;
  z-index:1;
  width:min(570px,100%);
  border:1px solid #cfe3d8;
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,23,42,.25);
  padding:34px 34px 30px;
  text-align:center;
  transform:translateY(12px) scale(.98);
  transition:transform .2s ease;
  outline:none;
}
.completion-modal.show .completion-modal-card{transform:translateY(0) scale(1)}
.completion-modal-close{
  position:absolute;
  top:14px;
  right:16px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#f1f5f9;
  color:#526174;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.completion-modal-close:hover{background:#e7edf4;color:#1f2937}
.completion-modal-icon{
  width:78px;
  height:78px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eaf9f1;
  border:1px solid #a6ddbf;
  color:var(--success);
  font-size:42px;
  font-weight:900;
  box-shadow:0 10px 28px rgba(22,138,80,.14);
}
.completion-modal-eyebrow{
  display:block;
  color:var(--success);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  margin-bottom:8px;
}
.completion-modal-card h2{
  margin:0 0 9px;
  font-size:30px;
  letter-spacing:-.025em;
}
.completion-modal-card>p{
  margin:0 auto;
  max-width:440px;
  color:var(--muted);
  line-height:1.55;
}
.completion-rewards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:24px 0;
}
.completion-reward{
  padding:15px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  text-align:left;
}
.completion-reward-icon{
  grid-row:1 / span 2;
  font-size:26px;
}
.completion-reward strong{font-size:18px}
.completion-reward small{color:var(--muted)}
.completion-modal-actions{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:10px;
}
.completion-modal-actions .btn{min-height:48px}
@media(max-width:620px){
  .completion-modal{padding:14px}
  .completion-modal-card{padding:30px 18px 20px;border-radius:18px}
  .completion-modal-card h2{font-size:25px}
  .completion-rewards,.completion-modal-actions{grid-template-columns:1fr}
  .completion-modal-actions #completion-next{order:-1}
}
@media(prefers-reduced-motion:reduce){
  .completion-modal,.completion-modal-card{transition:none}
}

/* WEB v0.10.2 — interaktywne input() bezpośrednio w konsoli */
.interactive-input-note{
  padding:13px 15px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  border-color:#cfe0ff;
  background:#f6f9ff;
}
.interactive-input-note-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#e7efff;
  font-size:18px;
}
.interactive-input-note strong{display:block;margin:1px 0 4px;color:#173b7a}
.interactive-input-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.interactive-console-card pre{border-bottom-left-radius:0;border-bottom-right-radius:0}
.console-input-wrap{
  border:1px solid var(--border);
  border-top:0;
  border-radius:0 0 8px 8px;
  background:#fff;
  padding:10px 12px 9px;
}
.console-input-wrap[hidden]{display:none}
.console-input-form{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.console-input-prefix{
  color:var(--primary);
  font:800 22px/1 Consolas,monospace;
}
.console-live-input{
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:7px 4px;
  font:15px/1.35 Consolas,monospace;
  color:#172033;
}
.console-live-input::placeholder{color:#94a3b8}
.console-enter-btn{
  border:1px solid #bed0f3;
  border-radius:8px;
  background:#edf3ff;
  color:#245bc7;
  font-weight:800;
  padding:7px 10px;
  cursor:pointer;
}
.console-enter-btn:hover{background:#dfeaff}
.console-input-wrap small{
  display:block;
  margin:6px 0 0 24px;
  color:var(--muted);
  font-size:11px;
}
@media(max-width:620px){
  .interactive-input-note{padding:12px}
  .console-input-form{grid-template-columns:auto minmax(0,1fr)}
  .console-enter-btn{grid-column:2;justify-self:start}
}

/* WEB v0.10.6 — duże podsumowanie ukończenia projektu */
.project-completion-card{
  width:min(680px,100%);
  max-height:calc(100vh - 38px);
  overflow:auto;
  border-color:#efd99a;
  padding:34px 34px 28px;
}
.project-completion-icon{
  background:#fff8df;
  border-color:#efd37d;
  box-shadow:0 10px 28px rgba(180,125,20,.14);
  font-size:39px;
}
.project-completion-eyebrow{color:#9a6810}
.project-completion-score{
  width:max-content;
  max-width:100%;
  margin:-8px auto 20px;
  padding:7px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
  font-size:13px;
}
.project-completion-score strong{color:var(--text)}
.project-learning-summary{
  display:grid;
  gap:12px;
  margin:0 0 22px;
  text-align:left;
}
.project-learning-section{
  padding:16px 18px;
  border:1px solid #dbe5f1;
  border-radius:14px;
  background:#f8fafc;
}
.project-learning-section h3{
  margin:0 0 10px;
  font-size:15px;
}
.project-learning-section ul{
  margin:0;
  padding-left:21px;
  display:grid;
  gap:7px;
  color:#344256;
  line-height:1.45;
  font-size:14px;
}
.project-learning-takeaway{
  padding:14px 16px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#eff6ff;
  color:#1e3a5f;
}
.project-learning-takeaway strong{
  display:block;
  margin-bottom:4px;
  color:#174173;
  font-size:14px;
}
.project-learning-takeaway p{
  margin:0;
  line-height:1.5;
  font-size:14px;
}
.project-completion-actions{margin-top:2px}
@media(max-width:620px){
  .project-completion-card{max-height:calc(100vh - 20px);padding:30px 18px 20px}
  .project-learning-section{padding:14px}
  .project-completion-actions #project-completion-back{order:-1}
}

/* WEB v0.10.7 — czytelne wymagania projektów */
.project-requirements-guide{
  margin:4px 0 16px;
  padding:12px 13px;
  border:1px solid #bfd0f7;
  border-radius:11px;
  background:#f3f7ff;
}
.project-requirements-guide strong{display:block;color:#174ea6;margin-bottom:5px}
.project-requirements-guide p{margin:0;color:#42526b;line-height:1.48;font-size:12px}
.clarified-requirements-list{gap:9px}
.clarified-requirement-item{padding:10px 11px}
.requirement-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.requirement-label{font-size:13px;line-height:1.3;color:var(--text)}
.req-guidance{display:block;color:var(--muted);font-size:11px;line-height:1.42}
.requirement-item .req-detail{display:block;margin-top:4px;font-weight:700}

/* WEB v0.11 — egzaminy rozdziałowe */
.chapter-exam-card{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:22px;
  padding:22px;
  border-width:1px;
}
.chapter-exam-card.ready{border-color:#bcd1ff;background:#f8fbff}
.chapter-exam-card.passed{border-color:#a7e3c0;background:#f5fff8}
.chapter-exam-card.locked{background:#fafbfc}
.chapter-exam-main{display:flex;align-items:flex-start;gap:14px;min-width:0}
.chapter-exam-icon{font-size:30px;line-height:1}
.chapter-exam-main h2{margin:4px 0 6px}
.chapter-exam-main p{margin:0;color:var(--muted);line-height:1.5}
.chapter-exam-stats{display:flex;gap:8px}
.chapter-exam-stats span{
  min-width:72px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:center
}
.chapter-exam-stats strong,.chapter-exam-stats small{display:block}
.chapter-exam-stats strong{font-size:16px}.chapter-exam-stats small{margin-top:2px;color:var(--muted);font-size:10px}
.chapter-exam-chip{display:inline-flex;width:max-content;margin-top:9px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}
.chapter-exam-chip.locked{background:#eef1f5;color:#667085}
.chapter-exam-chip.ready{background:#eaf1ff;color:#2259b8}
.chapter-exam-chip.passed{background:#e8f8ee;color:#14743b}

.exam-heading{align-items:center}
.exam-progress-pill{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:#42526b}
.exam-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.exam-readiness-card,.exam-rules-card{padding:24px}
.exam-readiness-card h2,.exam-rules-card h2{margin:5px 0 16px}
.exam-requirements{display:grid;gap:10px}
.exam-requirement{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fafbfd}
.exam-requirement.done{border-color:#b8e5c9;background:#f4fff7}
.exam-requirement>span{font-size:18px}.exam-requirement strong,.exam-requirement small{display:block}.exam-requirement small{margin-top:2px;color:var(--muted)}
.exam-ready-banner,.exam-passed-banner,.exam-locked-banner{margin-top:14px;padding:13px 14px;border-radius:12px;display:flex;flex-direction:column;gap:3px}
.exam-ready-banner{background:#edf4ff;border:1px solid #bfd2fb;color:#184f9d}
.exam-passed-banner{background:#effbf3;border:1px solid #b8e5c9;color:#146a37}
.exam-locked-banner{background:#f5f6f8;border:1px solid #dde1e8;color:#5f6b7a}
.exam-rules-list{margin:0 0 20px;padding-left:20px;display:grid;gap:10px;line-height:1.5;color:#344256}
.exam-start-btn{width:100%;justify-content:center}
.exam-history-card{margin-top:18px;padding:20px}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-heading-row h2{margin:4px 0 0}
.exam-history-list{margin-top:14px;display:grid;gap:8px}
.exam-history-row{display:grid;grid-template-columns:auto 70px 1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:11px;text-decoration:none;color:inherit;background:#fff}
.exam-history-row:hover{border-color:#bfd0f7;background:#f9fbff}
.exam-history-row small{color:var(--muted)}

.exam-form{display:grid;gap:16px}
.exam-question-card{padding:22px}
.exam-question-number{color:#2d63cf;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.exam-question-card h2{margin:7px 0 14px;font-size:20px;line-height:1.35}
.exam-code{margin:0 0 15px;padding:14px 16px;border-radius:12px;background:#111827;color:#f8fafc;overflow:auto;font:13px/1.55 Consolas,monospace;white-space:pre-wrap}
.exam-options{display:grid;gap:9px}
.exam-option{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:.12s ease}
.exam-option:hover{border-color:#b9cbef;background:#f8fbff}.exam-option.selected{border-color:#5e8ff0;background:#edf4ff;box-shadow:0 0 0 2px rgba(68,117,216,.08)}
.exam-option input{margin:0}.exam-option-letter{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eef2f8;font-weight:900;color:#42526b}.exam-option.selected .exam-option-letter{background:#2f67da;color:#fff}
.exam-option-text{line-height:1.4}
.exam-submit-bar{position:sticky;bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;box-shadow:0 12px 36px rgba(27,45,78,.13);z-index:3}.exam-submit-bar p{margin:4px 0 0}

.exam-result-hero{text-align:center;padding:34px 28px;border-width:1px}.exam-result-hero.passed{background:#f7fff9;border-color:#afe0c1}.exam-result-hero.failed{background:#fffdf8;border-color:#efd8a5}
.exam-result-icon{font-size:48px}.exam-result-hero h1{margin:7px 0 8px}.exam-score-big{font-size:64px;font-weight:950;line-height:1;color:#1f5cc4}.exam-result-hero.passed .exam-score-big{color:#168044}.exam-result-hero p{color:var(--muted)}
.exam-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.exam-feedback-heading{margin-top:28px}.exam-feedback-heading h2{margin:4px 0 3px}
.exam-feedback-list{display:grid;gap:12px}.exam-feedback-card{padding:18px 20px}.exam-feedback-card.correct{border-left:4px solid #38a169}.exam-feedback-card.incorrect{border-left:4px solid #d97706}
.exam-feedback-status{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.exam-feedback-card.correct .exam-feedback-status{color:#168044}.exam-feedback-card.incorrect .exam-feedback-status{color:#a35a08}
.exam-feedback-card h3{margin:7px 0 12px;line-height:1.4;font-size:16px}
.exam-answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.exam-answer-comparison>div{padding:11px 12px;border-radius:10px;background:#fff6eb;border:1px solid #f1d7b6}.exam-answer-comparison .correct-answer{background:#f0fbf4;border-color:#bce2ca}.exam-answer-comparison small,.exam-answer-comparison strong{display:block}.exam-answer-comparison small{margin-bottom:4px;color:var(--muted)}
.exam-explanation{margin:11px 0 0;padding:11px 12px;border-radius:10px;background:#f6f8fb;color:#344256;line-height:1.5}

@media(max-width:900px){
  .chapter-exam-card{grid-template-columns:1fr}.chapter-exam-stats{justify-content:flex-start}.exam-intro-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .chapter-exam-stats{display:grid;grid-template-columns:repeat(3,1fr)}.chapter-exam-stats span{min-width:0}.exam-history-row{grid-template-columns:auto 60px 1fr}.exam-history-row small,.exam-history-row>span:last-child{display:none}.exam-question-card{padding:17px}.exam-option{grid-template-columns:auto auto minmax(0,1fr);padding:11px}.exam-submit-bar{position:static;display:grid}.exam-answer-comparison{grid-template-columns:1fr}.exam-score-big{font-size:50px}
}
.exam-completion-note{width:min(720px,100%);margin:14px auto 0;padding:11px 14px;border-radius:11px;background:#fff;border:1px solid rgba(58,123,82,.18);color:#315942;font-weight:700;line-height:1.45}

/* WEB v0.12 — drzewo postępów */
.dashboard-path-cta{margin-top:2px}
.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;background:#f4f6f9;color:#778397}

.learning-path-heading{margin-bottom:18px}
.path-summary{padding:22px;margin-bottom:28px;overflow:hidden}
.path-summary-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center}
.path-summary-main>div:first-child{max-width:620px}
.path-summary-percent{display:block;font-size:34px;margin:1px 0 10px}
.path-summary-level{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;min-width:170px}
.path-summary-level>span{font-size:27px}.path-summary-level strong,.path-summary-level small{display:block}.path-summary-level small{margin-top:3px;color:var(--muted)}
.path-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.path-summary-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fafbfd}
.path-summary-grid>div>span{grid-row:1/3;font-size:20px}.path-summary-grid strong{font-size:17px}.path-summary-grid small{color:var(--muted);font-size:11px}
.path-ready-banner,.path-admin-note{margin-top:13px;padding:11px 13px;border-radius:10px;line-height:1.45}
.path-ready-banner{background:#edf4ff;border:1px solid #bed1fb;color:#1c529d;font-weight:750}
.path-admin-note{background:#fff8e8;border:1px solid #ead39c;color:#75551a;font-size:12px}

.learning-tree{position:relative;padding:8px 0 30px}
.tree-start-marker,.tree-finish-marker{position:relative;z-index:2;width:max-content;max-width:100%;margin:0 auto 22px;padding:12px 18px;border:1px solid #bcd0fb;border-radius:999px;background:#edf4ff;display:flex;gap:9px;align-items:center;color:#1c529d;box-shadow:var(--shadow)}
.tree-start-marker span,.tree-finish-marker span{font-size:20px}
.tree-finish-marker{margin-top:22px;margin-bottom:0;background:#f8fafc;border-color:var(--border);color:#42526b}
.tree-finish-marker.complete{background:#effbf3;border-color:#a9dfbd;color:#146a37}

.tree-section{position:relative;margin-bottom:34px}
.tree-section-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;padding:20px 22px;margin:0 auto 22px;max-width:980px;border-color:#c8d6ed}
.tree-section-header.complete{border-color:#a9dfbd;background:#f7fff9}
.tree-section-header h2{margin:4px 0 5px}.tree-section-header p{margin:0;color:var(--muted);line-height:1.48}
.tree-section-progress{text-align:right}.tree-section-progress strong,.tree-section-progress small{display:block}.tree-section-progress strong{font-size:22px}.tree-section-progress small{margin:2px 0 8px;color:var(--muted);font-size:11px}

.tree-branch{position:relative;max-width:1180px;margin:0 auto;padding:5px 0}
.tree-branch:before{content:"";position:absolute;top:-24px;bottom:-24px;left:50%;width:3px;transform:translateX(-50%);background:linear-gradient(#c8d5e8,#9fb9e7,#c8d5e8);border-radius:99px}
.tree-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:center;min-height:235px;margin:0}
.tree-center{grid-column:2;display:grid;place-items:center;position:relative;z-index:3}
.tree-dot{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid #c7d3e4;box-shadow:0 5px 18px rgba(30,49,79,.12);font-size:21px}
.tree-row.left .tree-node-card{grid-column:1;grid-row:1;justify-self:end}
.tree-row.right .tree-node-card{grid-column:3;grid-row:1;justify-self:start}
.tree-node-card{width:min(100%,510px);padding:18px 19px;box-shadow:0 10px 30px rgba(30,49,79,.07);position:relative}
.tree-row.left .tree-node-card:after,.tree-row.right .tree-node-card:before{content:"";position:absolute;top:50%;width:28px;height:2px;background:#b9c8dd}
.tree-row.left .tree-node-card:after{right:-29px}.tree-row.right .tree-node-card:before{left:-29px}
.tree-row.status-learning .tree-dot,.tree-row.status-projects .tree-dot,.tree-row.status-exam_ready .tree-dot{border-color:#5e8ff0;background:#f5f8ff}
.tree-row.status-passed .tree-dot{border-color:#58b77d;background:#f3fff7}
.tree-row.status-mastered .tree-dot{border-color:#e1b94e;background:#fffaf0}
.tree-row.status-locked .tree-dot{background:#f5f6f8;color:#7a8492}
.tree-row.status-locked .tree-node-card{opacity:.65}
.tree-row.current .tree-node-card{border-color:#7aa3f4;box-shadow:0 12px 36px rgba(43,96,202,.12),0 0 0 2px rgba(86,137,239,.08)}
.tree-row.current .tree-dot{box-shadow:0 0 0 7px rgba(64,112,218,.10),0 6px 20px rgba(30,49,79,.16)}

.tree-node-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tree-node-top h3{margin:3px 0 0;font-size:19px}.tree-node-description{margin:10px 0 13px;color:var(--muted);line-height:1.45;font-size:13px}
.tree-status-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap;background:#eef1f5;color:#667085}
.tree-status-badge.status-learning{background:#eaf1ff;color:#1f57b8}.tree-status-badge.status-projects{background:#fff5df;color:#8b5a05}.tree-status-badge.status-exam_ready{background:#eaf1ff;color:#174eae}.tree-status-badge.status-passed{background:#eaf8ef;color:#14743b}.tree-status-badge.status-mastered{background:#fff4d8;color:#8a620b}

.tree-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.tree-stage{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:#f7f9fc;min-width:0}
.tree-stage>span{font-size:16px}.tree-stage strong,.tree-stage small{display:block}.tree-stage strong{font-size:13px}.tree-stage small{font-size:9px;color:var(--muted);margin-top:1px;white-space:nowrap}
.tree-stage.done{background:#f1fbf4;border-color:#b8e2c8}.tree-stage.active{background:#edf4ff;border-color:#bfd1f6}.tree-stage.locked{opacity:.55}
.tree-next-action{margin-top:11px;padding:10px 11px;border-radius:10px;background:#f7f9fc;border:1px solid #e3e8f0;display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.4}
.tree-next-action strong{color:#315fae}.tree-next-action span{color:#526177}
.tree-node-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.tree-node-actions .btn{padding:8px 11px;font-size:11px}
.tree-optional-note{margin-top:10px;color:#7a5c1a;background:#fff9ea;border:1px solid #ead8a9;border-radius:9px;padding:8px 10px;font-size:10px;line-height:1.4}

.tree-section-finish{position:relative;z-index:2;width:max-content;margin:18px auto 0;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);color:#7b8798;display:flex;gap:7px;align-items:center;font-size:11px}
.tree-section-finish.complete{background:#effbf3;border-color:#b4dfc3;color:#146a37}

@media(max-width:1050px){
  .tree-branch{max-width:820px}.tree-row{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)}.tree-node-card{width:min(100%,360px)}.tree-stage-grid{grid-template-columns:1fr}.tree-stage small{white-space:normal}
}
@media(max-width:780px){
  .path-summary-main,.tree-section-header{grid-template-columns:1fr}.path-summary-level{width:max-content}.tree-section-progress{text-align:left}.path-summary-grid{grid-template-columns:1fr 1fr}
  .tree-branch{padding-left:58px}.tree-branch:before{left:27px;transform:none}.tree-row{display:block;min-height:0;margin:0 0 18px}.tree-center{position:absolute;left:-58px;top:24px;display:block}.tree-dot{width:50px;height:50px}.tree-row .tree-node-card,.tree-row.left .tree-node-card,.tree-row.right .tree-node-card{width:100%;max-width:none;display:block}.tree-row.left .tree-node-card:after,.tree-row.right .tree-node-card:before{top:48px;left:-31px;right:auto;width:30px}.tree-node-card{margin:0}.tree-section-finish{margin-left:4px}
}
@media(max-width:520px){
  .path-summary-grid{grid-template-columns:1fr}.tree-branch{padding-left:47px}.tree-branch:before{left:21px}.tree-center{left:-47px}.tree-dot{width:42px;height:42px;border-width:3px;font-size:17px}.tree-node-top{display:grid}.tree-status-badge{width:max-content}.tree-stage-grid{grid-template-columns:1fr}.tree-node-actions{display:grid}.tree-node-actions .btn{width:100%}.tree-section-header{padding:17px}.path-summary{padding:17px}
}

/* ============================================================
   WEB v0.13 — publiczna strona startowa Akademii Pythona
   ============================================================ */
html{scroll-behavior:smooth}
.public-site{min-height:100vh;background:#fbfcff;color:var(--text)}
.public-nav-wrap{position:sticky;top:0;z-index:50;background:rgba(251,252,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(219,226,237,.85)}
.public-nav{max-width:1240px;height:76px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.public-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-weight:900;font-size:18px;letter-spacing:-.02em;white-space:nowrap}
.public-brand-mark{width:36px;height:36px;border-radius:10px;background:#e9f2ff;display:grid;place-items:center;font-size:20px}
.public-nav-links{display:flex;justify-content:center;gap:22px}
.public-nav-links a,.public-footer-links a{color:#5d6878;text-decoration:none;font-size:14px;font-weight:700}
.public-nav-links a:hover,.public-footer-links a:hover{color:var(--primary)}
.public-nav-actions{display:flex;gap:9px;align-items:center}
.public-section{max-width:1240px;margin:0 auto;padding:92px 28px}
.public-hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:70px;align-items:center;padding-top:68px;padding-bottom:78px}
.beta-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;margin-bottom:18px;border-radius:999px;border:1px solid #efcf88;background:#fff9e8;color:#765512;font-size:12px;font-weight:850}
.public-hero h1{font-size:62px;line-height:1.02;letter-spacing:-.052em;margin:12px 0 22px;max-width:760px}
.public-hero h1 span{color:#2863d7}
.public-lead{font-size:19px;line-height:1.7;color:#5c6878;max-width:720px;margin:0}
.public-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.public-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;max-width:650px}
.public-stats div{padding:14px 16px;border:1px solid #e0e7f1;background:#fff;border-radius:13px;display:flex;flex-direction:column;gap:2px}
.public-stats strong{font-size:25px;line-height:1.05;color:#1b315c}.public-stats span{font-size:12px;color:#738094;font-weight:700}
.public-product-preview{position:relative;padding:34px 14px 38px}
.preview-window{overflow:hidden;border-radius:18px;border:1px solid #263143;background:#0c1320;box-shadow:0 30px 70px rgba(31,52,92,.22)}
.preview-window-bar{height:43px;padding:0 14px;display:flex;align-items:center;gap:7px;background:#151e2d;border-bottom:1px solid #283447}
.preview-window-bar>span{width:10px;height:10px;border-radius:50%;background:#536075}.preview-window-bar>span:first-child{background:#ef7d78}.preview-window-bar>span:nth-child(2){background:#e9bd62}.preview-window-bar>span:nth-child(3){background:#6ec28b}.preview-window-bar small{margin-left:auto;color:#96a3b8;font-weight:700}
.preview-editor{padding:23px 24px 20px;min-height:245px;background:#101827}.preview-editor pre{margin:0;overflow:auto}.preview-editor code{font:14px/1.75 Consolas,"Cascadia Code",monospace;color:#d6deeb}.code-name{color:#82aaff}.code-fn{color:#c792ea}.code-str{color:#c3e88d}
.preview-console{padding:17px 22px 20px;background:#080d16;color:#ced8e8;font:13px/1.55 Consolas,monospace}.preview-console-title{font:800 11px/1.4 "Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#7f8da3;margin-bottom:10px}.preview-console p{margin:4px 0}.preview-console strong{color:#fff}.preview-success{color:#92f7be!important;margin-top:10px!important}
.preview-badge{position:absolute;padding:10px 13px;background:#fff;border:1px solid #dfe6f0;border-radius:12px;box-shadow:0 12px 30px rgba(36,55,91,.12);font-size:12px;font-weight:850;color:#28416e}.preview-badge-one{left:-12px;bottom:5px}.preview-badge-two{right:-10px;top:0}
.public-trust-strip{max-width:1184px;margin:0 auto 10px;padding:20px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid #e3e9f2;border-radius:18px;box-shadow:0 10px 35px rgba(42,63,102,.06)}
.public-trust-strip>div{display:grid;grid-template-columns:29px 1fr;column-gap:7px;padding:7px 20px;border-right:1px solid #e7ecf3;font-size:18px}.public-trust-strip>div:last-child{border-right:0}.public-trust-strip strong{font-size:13px;color:#233653}.public-trust-strip span{grid-column:2;font-size:11px;color:#7a8798;line-height:1.45;margin-top:2px}
.section-heading h2,.audience-copy h2,.curriculum-heading h2,.beta-card h2,.final-cta-card h2{font-size:40px;line-height:1.12;letter-spacing:-.035em;margin:9px 0 14px}.section-heading>p,.curriculum-heading>p{color:#6d798a;line-height:1.65;max-width:720px}.centered-heading{text-align:center;max-width:820px;margin:0 auto 34px}.centered-heading>p{margin-left:auto;margin-right:auto}
.public-how-section{padding-top:108px}.learning-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch}.flow-card{position:relative;padding:24px 20px;border:1px solid #e0e6ef;background:#fff;border-radius:16px;box-shadow:0 7px 24px rgba(39,58,91,.05)}.flow-number{position:absolute;right:14px;top:14px;width:26px;height:26px;border-radius:8px;background:#edf3ff;color:#3569cc;display:grid;place-items:center;font-size:11px;font-weight:900}.flow-icon{font-size:27px;margin-bottom:13px}.flow-card h3{margin:0 0 8px;font-size:17px}.flow-card p{margin:0;color:#6f7b8c;line-height:1.58;font-size:13px}.flow-arrow{align-self:center;color:#9bacbf;font-size:22px;font-weight:900}.learning-rule{max-width:880px;margin:24px auto 0;padding:18px 22px;display:flex;gap:15px;align-items:center;background:#f4f8ff;border-color:#d5e2f8}.learning-rule-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:13px;background:#fff;font-size:22px}.learning-rule strong{color:#223b69}.learning-rule p{margin:4px 0 0;color:#68768a;line-height:1.5;font-size:13px}
.audience-section{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.audience-copy>p{font-size:17px;color:#687587;line-height:1.7;max-width:670px}.audience-checks{display:flex;flex-direction:column;gap:11px;margin-top:24px}.audience-checks div{padding:11px 13px;border-left:3px solid #4a7ee0;background:#f7f9fd;border-radius:0 10px 10px 0;font-size:14px;color:#45546a}.what-you-learn-card{padding:28px;background:linear-gradient(145deg,#14223a,#101827);color:#eef4ff;border-color:#263852}.what-you-learn-card .eyebrow{color:#91b8ff}.what-you-learn-card h3{font-size:26px;margin:8px 0 18px}.what-you-learn-card>p{color:#aebbd0;line-height:1.65}.skill-roadmap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 22px}.skill-roadmap span{padding:7px 9px;border-radius:8px;background:#1e304e;border:1px solid #324966;color:#d7e6ff;font:700 12px Consolas,monospace}.skill-roadmap i{font-style:normal;color:#71839e}
.feature-section{padding-top:70px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-feature-card{padding:22px;box-shadow:none}.public-feature-icon{font-size:27px;margin-bottom:10px}.public-feature-card h3{font-size:17px;margin:0 0 8px}.public-feature-card p{margin:0;color:#6d798b;line-height:1.6;font-size:13px}
.curriculum-section{padding-top:90px}.curriculum-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.curriculum-heading>p{max-width:470px;text-align:right}.public-curriculum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-chapter-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px;background:#fff;border:1px solid #e1e7f0;border-radius:14px}.public-chapter-number{width:42px;height:42px;border-radius:12px;background:#eef4ff;color:#2e64cf;display:grid;place-items:center;font-weight:950;font-size:15px}.public-chapter-copy h3{margin:2px 0 7px;font-size:15px}.public-chapter-copy>p{margin:0;color:#758193;font-size:12px;line-height:1.5}.public-chapter-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.public-chapter-meta span{font-size:10px;font-weight:750;color:#607087;background:#f5f7fa;border-radius:7px;padding:4px 6px}
.beta-section{padding-top:70px;padding-bottom:70px}.beta-card{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:32px 34px;border:1px solid #efd89d;background:linear-gradient(135deg,#fffdf7,#fff8e7);border-radius:20px}.beta-card-icon{width:62px;height:62px;display:grid;place-items:center;background:#fff;border:1px solid #f0dfb7;border-radius:18px;font-size:31px}.beta-card h2{font-size:30px;margin-top:7px}.beta-card p{margin:8px 0;color:#6e654f;line-height:1.6;font-size:13px;max-width:790px}.beta-card-status{padding:13px 16px;background:#fff;border:1px solid #ecd9aa;border-radius:12px;display:flex;flex-direction:column;gap:2px;min-width:165px}.beta-card-status strong{color:#7a5b18}.beta-card-status span{font-size:11px;color:#8b7a55}
.final-cta-section{padding-top:65px;padding-bottom:95px}.final-cta-card{text-align:center;padding:60px 30px;border-radius:24px;background:linear-gradient(145deg,#153365,#1e5aca);color:#fff;box-shadow:0 24px 55px rgba(29,75,158,.18)}.final-cta-card .eyebrow{color:#bbd4ff}.final-cta-card h2{max-width:850px;margin:10px auto 12px;font-size:42px}.final-cta-card>p{color:#d4e1f8;margin:0}.final-actions{justify-content:center}.final-cta-card .btn-primary{background:#fff;color:#1f56b6;border-color:#fff}.final-cta-card .btn-primary:hover{background:#f3f7ff}.final-cta-card .btn-ghost{background:transparent;color:#fff;border-color:#759ee0}
.public-footer{max-width:1184px;margin:0 auto;padding:30px 28px 40px;border-top:1px solid #e1e7ef;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;color:#738094}.footer-brand{font-size:15px}.public-footer p{margin:0;text-align:center;font-size:12px}.public-footer-links{display:flex;gap:14px}.public-footer small{grid-column:1/-1;text-align:center;font-size:10px;color:#97a1af}

@media(max-width:1100px){
  .public-nav{grid-template-columns:auto 1fr}.public-nav-links{display:none}.public-nav-actions{justify-self:end}
  .public-hero{grid-template-columns:1fr;gap:30px}.public-product-preview{max-width:760px;margin:0 auto;width:100%}
  .public-trust-strip{grid-template-columns:repeat(2,1fr)}.public-trust-strip>div:nth-child(2){border-right:0}.public-trust-strip>div:nth-child(-n+2){border-bottom:1px solid #e7ecf3}
  .learning-flow{grid-template-columns:repeat(2,1fr);gap:12px}.flow-arrow{display:none}
  .public-curriculum-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .public-section{padding:70px 20px}.public-nav{padding:0 20px;height:70px}.public-nav-actions .btn-ghost{display:none}
  .public-hero{min-height:auto;padding-top:52px}.public-hero h1{font-size:48px}.public-lead{font-size:17px}
  .public-stats{grid-template-columns:repeat(2,1fr)}.preview-badge{position:static;display:block;margin-top:9px}
  .audience-section{grid-template-columns:1fr;gap:30px}.public-feature-grid{grid-template-columns:repeat(2,1fr)}
  .curriculum-heading{display:block}.curriculum-heading>p{text-align:left;margin-top:10px}.beta-card{grid-template-columns:auto 1fr}.beta-card-status{grid-column:2;width:max-content}
  .public-footer{grid-template-columns:1fr;text-align:center}.public-footer p{text-align:center}.public-footer-links{justify-content:center}.public-footer .public-brand{justify-content:center}.public-footer small{grid-column:auto}
}
@media(max-width:560px){
  .public-brand span:last-child{font-size:15px}.public-nav-actions .btn{padding:9px 11px;font-size:12px}.public-nav{gap:10px;padding:0 14px}
  .public-section{padding-left:16px;padding-right:16px}.public-hero h1{font-size:39px}.public-hero-actions .btn{width:100%;justify-content:center;text-align:center}
  .public-trust-strip{margin-left:16px;margin-right:16px;padding:8px;grid-template-columns:1fr}.public-trust-strip>div{border-right:0!important;border-bottom:1px solid #e7ecf3!important;padding:12px}.public-trust-strip>div:last-child{border-bottom:0!important}
  .learning-flow,.public-feature-grid,.public-curriculum-grid{grid-template-columns:1fr}.section-heading h2,.audience-copy h2,.curriculum-heading h2,.final-cta-card h2{font-size:32px}
  .preview-editor{padding:17px 15px}.preview-editor code{font-size:12px}.public-product-preview{padding-left:0;padding-right:0}
  .beta-card{grid-template-columns:1fr;padding:25px 20px}.beta-card-status{grid-column:auto}.final-cta-card{padding:44px 20px}
}

/* ============================================================
   WEB v0.13.3 — Legal & Privacy
   ============================================================ */
.sidebar-legal-links{display:flex;align-items:center;gap:6px;padding:5px 8px 0;font-size:10px;color:#94a0b2}.sidebar-legal-links a{color:#7f8b9d;text-decoration:none}.sidebar-legal-links a:hover{color:var(--primary)}
.register-card-wide{width:min(600px,100%)}
.register-legal-box{margin:8px 0 4px;padding:15px;border:1px solid #dbe4f0;background:#f8faff;border-radius:13px;display:flex;flex-direction:column;gap:9px}.register-legal-box>strong{font-size:13px;color:#253b61}
.legal-checkbox-row{display:grid!important;grid-template-columns:20px 1fr!important;gap:10px!important;align-items:start!important;margin:0!important;padding:10px!important;border:1px solid #e1e7f0;border-radius:10px;background:#fff}.legal-checkbox-row input[type=checkbox]{width:17px!important;height:17px!important;margin:2px 0 0!important;accent-color:var(--primary)}.legal-checkbox-row span{display:flex;flex-direction:column;gap:3px;line-height:1.4}.legal-checkbox-row strong{font-size:12px}.legal-checkbox-row small{font-size:10px;color:#758195}.legal-checkbox-row a{color:var(--primary);font-weight:800}.register-legal-note{text-align:center;margin:12px 0 0;color:var(--muted);font-size:11px}.register-legal-note a{color:var(--primary);font-weight:700}
.profile-privacy-box{margin-top:18px;padding-top:15px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.profile-privacy-box p{margin:4px 0;font-size:12px}.profile-privacy-box a{color:var(--primary);font-weight:750}.profile-privacy-box small{display:block;color:var(--muted);line-height:1.45}
.legal-page-wrap{min-height:100vh;background:#f5f8fc;padding:34px 18px 70px}.legal-page-shell{width:min(980px,100%);margin:0 auto}.legal-page-shell>.auth-brand{display:inline-flex;margin:0 0 20px}.legal-document{padding:34px 40px}.legal-document h1{font-size:36px;letter-spacing:-.035em;margin:7px 0 10px}.legal-lead{font-size:16px;color:#667386;line-height:1.65;margin:0 0 28px}.legal-document section{padding:22px 0;border-top:1px solid #e5eaf1}.legal-document section h2{font-size:20px;margin:0 0 11px;color:#203652}.legal-document section p,.legal-document section li{font-size:13px;line-height:1.72;color:#4f5e72}.legal-document section p{margin:8px 0}.legal-document section ul,.legal-document section ol{margin:9px 0 0;padding-left:22px}.legal-document a:not(.btn){color:#245fc7}.legal-document a.btn-primary{color:#fff}.legal-document a.btn-ghost{color:#245fc7}.legal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid #e5eaf1}.legal-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.legal-contact-grid>div{padding:14px;border:1px solid #e1e7ef;border-radius:11px;background:#f9fbfd;display:flex;flex-direction:column;gap:4px}.legal-contact-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#8490a1;font-weight:800}.legal-contact-grid strong{font-size:13px;line-height:1.5}.legal-note{margin:20px 0;padding:16px 18px;border:1px solid #d9e5f8;background:#f4f8ff;border-radius:12px}.legal-note p{margin:6px 0 0;color:#5f6f84;font-size:12px;line-height:1.6}.legal-table-wrap{overflow:auto;margin:12px 0}.legal-table{width:100%;border-collapse:collapse;font-size:12px}.legal-table th,.legal-table td{padding:11px 12px;border:1px solid #e0e6ee;vertical-align:top;text-align:left;line-height:1.55}.legal-table th{background:#f4f7fb;color:#2b405f}.legal-table td{color:#536176}
.legal-acceptance-page{padding-top:24px;padding-bottom:24px}.legal-acceptance-card{width:min(650px,100%)}.legal-check-form{gap:11px}.legal-acceptance-links{align-items:center}.legal-acceptance-links form{margin:0}.legal-acceptance-links .link-button{font-size:13px;color:var(--primary);font-weight:700}
@media(max-width:700px){.legal-document{padding:24px 20px}.legal-document h1{font-size:29px}.legal-contact-grid{grid-template-columns:1fr}.legal-actions{display:grid}.legal-actions .btn{width:100%;text-align:center;justify-content:center}}


/* =========================================================
   v0.14 — Centrum opinii użytkowników
   ========================================================= */
.content-feedback-card{margin-top:18px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 22px;align-items:center;border:1px solid #dbe5f4;background:linear-gradient(135deg,#fbfdff,#f5f9ff)}
.content-feedback-card p{margin:4px 0 0;color:#64748b}.content-feedback-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.content-feedback-card>small{grid-column:1/-1;color:#2563eb;min-height:1em}
.feedback-choice{appearance:none;border:1px solid #cbd5e1;background:#fff;border-radius:12px;padding:9px 12px;font-weight:700;cursor:pointer;color:#334155;transition:.16s ease}.feedback-choice:hover{border-color:#94a3b8;transform:translateY(-1px)}.feedback-choice.selected{background:#e8f1ff;border-color:#2563eb;color:#174ea6;box-shadow:0 0 0 2px rgba(37,99,235,.09)}.feedback-choice.compact{padding:7px 10px;margin:0 3px}.feedback-choice:disabled{opacity:.55;cursor:wait;transform:none}
.completion-feedback-mini{margin:18px 0 4px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;text-align:center}.completion-feedback-mini>strong{display:block;margin-bottom:9px}.completion-feedback-mini small{display:block;color:#2563eb;margin-top:7px;min-height:1em}
.feedback-page-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:22px;margin-bottom:22px}.feedback-main-form,.feedback-side-card{padding:24px}.feedback-form-field{margin-bottom:20px}.feedback-form-field>label{display:block;font-weight:800;margin-bottom:8px}.feedback-form ul{list-style:none;padding:0;margin:8px 0}.feedback-form ul li{margin:7px 0}.feedback-form ul label{display:flex;gap:8px;align-items:center;font-weight:500}.feedback-history-list{display:grid;gap:10px}.feedback-history-row{padding:14px 0;border-bottom:1px solid #e2e8f0}.feedback-history-row:last-child{border-bottom:0}.feedback-history-row strong,.feedback-history-row small{display:block}.feedback-history-row small{color:#64748b;margin-top:3px}.feedback-history-row p{margin:8px 0 0}.form-page-narrow{max-width:820px;margin:0 auto}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.feedback-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.feedback-filters label{display:grid;gap:5px;font-weight:700}.feedback-filters select{min-width:170px}.author-feedback-list{display:grid}.author-feedback-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 10px;border-top:1px solid #e2e8f0;color:inherit;text-decoration:none}.author-feedback-row:hover{background:#f8fafc}.author-feedback-row.is-new{background:#fff8f2}.feedback-kind-icon{font-size:1.35rem}.author-feedback-copy strong,.author-feedback-copy small{display:block}.author-feedback-copy small{color:#64748b;margin-top:3px}.author-feedback-copy p{margin:6px 0 0;color:#475569}.feedback-status-badge{padding:6px 9px;border-radius:999px;font-size:.8rem;font-weight:800;background:#eef2f7}.status-new{background:#fee2e2;color:#991b1b}.status-review{background:#dbeafe;color:#1e40af}.status-planned{background:#fef3c7;color:#92400e}.status-done{background:#dcfce7;color:#166534}.status-dismissed{background:#e2e8f0;color:#475569}
.feedback-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px}.feedback-detail-meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.feedback-detail-meta span{background:#eef2ff;padding:6px 9px;border-radius:999px;font-size:.84rem}.feedback-message-box{padding:16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;margin:16px 0}.feedback-details-json dt{font-weight:800;margin-top:14px}.feedback-details-json dd{margin:5px 0 0}.feedback-public-consent{padding:10px 12px;background:#ecfdf5;border-radius:12px;color:#166534}
@media(max-width:900px){.content-feedback-card,.feedback-page-grid,.feedback-detail-grid{grid-template-columns:1fr}.content-feedback-actions{justify-content:flex-start}.author-feedback-row{grid-template-columns:auto 1fr}.feedback-status-badge{grid-column:2}}


/* WEB v0.14.0.1 — równe kontrolki formularza opinii */
.feedback-radio-field > div{display:grid;gap:7px;margin-top:8px;max-width:520px}
.feedback-radio-field > div > div{margin:0}
.feedback-radio-field > div > div > label{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:34px;margin:0;padding:5px 8px;border-radius:9px;font-weight:650;line-height:1.35;cursor:pointer}
.feedback-radio-field > div > div > label:hover{background:#f7faff}
.feedback-radio-field input[type=radio]{appearance:auto!important;width:17px!important;height:17px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;accent-color:var(--primary);justify-self:center;cursor:pointer}
.feedback-consent-field{margin-top:6px}
.feedback-consent-label{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;margin:0!important;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;font-weight:650!important;line-height:1.45;cursor:pointer}
.feedback-consent-label input[type=checkbox]{appearance:auto!important;width:17px!important;height:17px!important;margin:2px 0 0!important;padding:0!important;border:0!important;accent-color:var(--primary);cursor:pointer}
.feedback-consent-label span{display:block}


/* WEB v0.14.1 — Konto i prywatność / usuwanie konta */
.profile-delete-box{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.profile-delete-box strong{font-size:13px}.profile-delete-box small{color:var(--muted);line-height:1.5}.profile-delete-box .btn{width:max-content;margin-top:4px}.danger-eyebrow{color:#b42318}.btn-danger-solid{background:#c73737;border-color:#c73737;color:#fff}.btn-danger-solid:hover{background:#a92d2d;border-color:#a92d2d}.account-delete-card{padding:28px}.account-delete-card h1{font-size:32px;margin:5px 0 10px}.account-delete-warning{margin:20px 0;padding:16px 18px;border:1px solid #f0b4b4;background:#fff6f6;border-radius:13px;color:#612222}.account-delete-warning strong{display:block;margin-bottom:8px}.account-delete-warning ul{margin:0;padding-left:20px;line-height:1.65}.account-delete-form{margin-top:20px}.delete-confirm-row{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;border:1px solid #e7caca;background:#fff8f8;border-radius:12px}.delete-confirm-row input{width:17px!important;height:17px!important;margin:2px 0 0!important;accent-color:#c73737}.account-pending-page{display:grid;place-items:center}.account-pending-card{width:min(680px,100%);padding:34px;text-align:center}.account-pending-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#fff2df;font-size:32px}.account-pending-card h1{font-size:30px;margin:7px 0 14px}.account-delete-date{display:inline-flex;margin:8px auto 14px;padding:10px 14px;border-radius:10px;background:#fff3f3;border:1px solid #efcaca;color:#9b2c2c;font-size:18px;font-weight:900}.account-pending-actions{margin:10px 0}.account-pending-actions .btn{min-width:260px}.account-delete-contact{margin:22px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.account-delete-contact a{color:var(--primary);font-weight:800}@media(max-width:650px){.account-delete-card,.account-pending-card{padding:22px 18px}.account-pending-actions .btn{min-width:0;width:100%}}

/* =========================================================
   WEB v0.15 — Społeczność / forum
   ========================================================= */
.nav-section-label{margin:12px 12px 4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:9px;font-weight:900;letter-spacing:.12em;color:#8fa3c2}
.community-heading{align-items:center}.community-heading-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.community-alert{padding:13px 15px;border:1px solid #d9e1eb;background:#f8fafc;border-radius:12px;color:#475569;margin-bottom:16px;line-height:1.5}.community-alert.blocked{background:#fff7ed;border-color:#fed7aa;color:#9a4c09}
.community-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}.community-category-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;padding:20px;text-decoration:none;color:inherit;transition:.16s ease}.community-category-card:hover{transform:translateY(-2px);border-color:#b9caeb;box-shadow:0 12px 30px rgba(44,70,113,.09)}.community-category-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#edf4ff;font-size:25px}.community-category-copy h2{margin:0 0 5px;font-size:18px}.community-category-copy p{margin:0;color:var(--muted);line-height:1.45}.community-category-stats{display:flex;gap:12px;margin-top:10px;color:#3e5e91;font-size:11px;font-weight:800}.community-category-copy small{display:block;margin-top:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-card-arrow{font-size:22px;color:#7892b8}
.community-home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:18px}.community-topic-list{display:grid}.community-topic-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:13px 10px;border-top:1px solid var(--border);text-decoration:none;color:inherit}.community-topic-row:hover{background:#f8fbff}.community-topic-row:first-child{border-top:0}.community-topic-status{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f4fa;font-size:17px}.community-topic-main strong,.community-topic-main small{display:block}.community-topic-main strong{line-height:1.35}.community-topic-main small{margin-top:4px;color:var(--muted);font-size:10px}.community-topic-numbers{min-width:58px;text-align:center}.community-topic-numbers strong,.community-topic-numbers small{display:block}.community-topic-numbers small{font-size:9px;color:var(--muted)}.community-topic-row time{font-size:10px;color:var(--muted);min-width:70px;text-align:right}.community-topic-list.compact .community-topic-row{grid-template-columns:38px minmax(0,1fr) auto auto}
.community-popular-card{padding:20px}.community-popular-card h2{margin:4px 0 12px}.community-popular-list{display:grid}.community-popular-list a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:11px 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}.community-popular-list a:first-child{border-top:0}.community-popular-list>a>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eef3fb;color:#315d9d;font-weight:900}.community-popular-list strong,.community-popular-list small{display:block}.community-popular-list strong{font-size:12px;line-height:1.35}.community-popular-list small{margin-top:3px;color:var(--muted);font-size:9px}
.community-topic-table{padding:10px 18px}.community-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:11px;color:var(--muted)}.community-breadcrumb a{color:var(--primary);font-weight:800;text-decoration:none}.community-topic-page{max-width:980px;margin:0 auto}.community-post{padding:0;overflow:hidden}.community-topic-post{margin-bottom:20px}.community-post-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:#fafbfd}.community-author-block{display:flex;align-items:center;gap:10px}.community-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#dfeaff;color:#2559ad;font-weight:900}.community-avatar.small{width:34px;height:34px}.community-author-block strong,.community-author-block small{display:block}.community-author-block small{margin-top:2px;color:var(--muted);font-size:10px}.community-topic-badges{display:flex;gap:6px;flex-wrap:wrap}.community-badge{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.community-badge.pinned{background:#fff4d8;color:#845a07}.community-badge.solved{background:#e8f8ee;color:#14743b}.community-badge.locked{background:#eef1f5;color:#566273}.community-topic-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 8px}.community-topic-title-row h1{margin:5px 0 0;font-size:27px;line-height:1.28}.community-view-count{white-space:nowrap;color:var(--muted);font-size:11px}.community-post-body{padding:10px 22px 24px;line-height:1.7;color:#26364b;overflow-wrap:anywhere}.community-post-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--border);background:#fafbfd;font-size:10px}.community-post-actions a,.community-post-actions .link-button{font-size:10px;font-weight:800;color:#43628f;text-decoration:none}.community-post-actions form{margin:0}.community-post-actions .danger-link{color:#a53b3b}.community-action-separator{width:1px;height:18px;background:var(--border)}
.community-replies-heading{display:flex;justify-content:space-between;align-items:end;margin:22px 2px 10px}.community-replies-heading h2{margin:4px 0 0}.community-replies-heading h2 span{color:var(--muted);font-size:15px}.community-replies-list{display:grid;gap:12px}.community-reply-post.solution{border-color:#9bd4b1;box-shadow:0 0 0 2px rgba(28,128,71,.05)}.community-solution-banner{padding:9px 16px;background:#eaf8ef;color:#136d38;border-bottom:1px solid #b9e0c7;font-size:10px;font-weight:900}.community-post-number{font-size:10px;color:var(--muted);text-decoration:none}.community-reply-box{margin-top:18px;padding:20px}.community-reply-box h2{margin:4px 0 12px}.community-reply-box textarea{min-height:125px}.community-reply-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.community-reply-actions small{color:var(--muted)}
.community-form{padding:24px}.community-form .form-field{margin-bottom:18px}.community-form .form-field>label{display:block;margin-bottom:7px;font-weight:800}.community-form select,.community-form input[type=text],.community-form textarea,.community-moderation-form select,.community-moderation-form textarea{width:100%;border:1px solid var(--border);border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);font:inherit}.community-form textarea{resize:vertical}.community-compose-note{padding:12px 13px;border-radius:11px;background:#f4f7fb;color:#516078;font-size:11px;line-height:1.55}.community-delete-card{padding:26px}.community-delete-card h1{margin:5px 0 8px}.community-delete-preview{margin:16px 0;padding:13px;background:#f8fafc;border:1px solid var(--border);border-radius:11px;font-weight:800}.community-report-target,.community-report-details{padding:15px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;margin-bottom:18px}.community-report-target p,.community-report-details p{margin:7px 0 0;line-height:1.6;color:#48566b}.community-rules-card{padding:6px 22px}.community-rule{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px 0;border-top:1px solid var(--border)}.community-rule:first-child{border-top:0}.community-rule>span{font-size:25px}.community-rule strong{font-size:15px}.community-rule p{margin:5px 0 0;color:var(--muted);line-height:1.55}.community-rules-footer{margin:14px 4px;color:var(--muted);font-size:11px}.community-rules-footer a{color:var(--primary);font-weight:800}
.community-report-list{display:grid}.community-report-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 10px;border-top:1px solid var(--border);text-decoration:none;color:inherit}.community-report-row.new{background:#fff9f5}.community-report-row strong,.community-report-row small{display:block}.community-report-row small{margin-top:3px;color:var(--muted)}.community-report-status{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;background:#eef2f7}.community-report-status.status-new{background:#fee2e2;color:#991b1b}.community-report-status.status-review{background:#dbeafe;color:#1e40af}.community-report-status.status-resolved{background:#dcfce7;color:#166534}.community-report-status.status-dismissed{background:#e2e8f0;color:#475569}.community-moderation-filter{display:flex;gap:8px}.community-moderation-filter select{border:1px solid var(--border);border-radius:10px;padding:9px}.community-moderation-detail{padding:22px}.community-moderation-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.community-moderation-form{border-top:1px solid var(--border);padding-top:18px}.community-moderation-form .form-field{margin-bottom:15px}.community-moderation-form label{display:block;margin-bottom:6px;font-weight:800}.community-user-stats{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.community-checkbox-field{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}.community-checkbox-field label{margin:0!important}.community-checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}
@media(max-width:900px){.community-category-grid,.community-home-grid{grid-template-columns:1fr}.community-topic-row{grid-template-columns:36px minmax(0,1fr) auto}.community-topic-row .community-topic-numbers:nth-of-type(2),.community-topic-row time{display:none}.community-topic-list.compact .community-topic-row{grid-template-columns:36px minmax(0,1fr) auto}.community-heading-actions{justify-content:flex-start}.community-user-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.community-category-card{grid-template-columns:auto minmax(0,1fr);padding:16px}.community-card-arrow{display:none}.community-category-copy small{white-space:normal}.community-post-header,.community-topic-title-row,.community-reply-actions{align-items:flex-start;flex-direction:column}.community-topic-title-row{padding:17px 17px 7px}.community-post-body{padding:9px 17px 20px}.community-post-actions{gap:10px}.community-topic-badges{margin-left:50px}.community-form{padding:18px}.community-user-stats{grid-template-columns:1fr}}
.community-post-body,.community-report-target p,.community-report-details p{white-space:pre-wrap}

/* v0.15.0.1 — widoczna diagnostyka blokad forum */
.community-restriction-list{display:grid}.community-restriction-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 10px;border-top:1px solid var(--border);text-decoration:none;color:inherit}.community-restriction-row:first-child{border-top:0}.community-restriction-row:hover{background:#fff9f5}.community-restriction-row strong,.community-restriction-row small{display:block}.community-restriction-row small{margin-top:4px;color:var(--muted)}.community-restriction-row>span{font-size:10px;font-weight:800;color:var(--primary)}.community-restriction-current{padding:20px;margin-bottom:15px;border-color:#b7dec7;background:#f7fcf9}.community-restriction-current.is-blocked{border-color:#fecaca;background:#fff8f8}.community-restriction-current h2{margin:4px 0 7px}.community-restriction-current p{margin:0;color:var(--muted);line-height:1.5}.empty-state.compact{padding:18px}.field-error ul.errorlist{margin:0;padding-left:18px}

/* v0.15.0.3 — szybkie blokady 12 h / 24 h */
.community-quick-block-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;margin-bottom:15px}.community-quick-block-card h2{margin:4px 0 6px}.community-quick-block-card p{margin:0}.community-quick-block-actions{display:flex;gap:10px;flex-wrap:wrap}.community-quick-block-actions form{margin:0}.community-quick-block-btn{white-space:nowrap;border-color:#f0b8b8;background:#fff7f7;color:#a12f2f}.community-quick-block-btn:hover{background:#ffeded;border-color:#e89a9a}@media (max-width:760px){.community-quick-block-card{align-items:stretch;flex-direction:column}.community-quick-block-actions{display:grid;grid-template-columns:1fr 1fr}.community-quick-block-btn{width:100%}}

/* ============================================================
   WEB v0.16 — Program poleceń + Ambasador Akademii
   ============================================================ */
.referral-heading{align-items:center}.ambassador-mini-seal{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid #e7c766;border-radius:999px;background:#fff9df;color:#785508;font-size:12px;white-space:nowrap}
.referral-share-card{padding:22px;margin-bottom:16px}.referral-share-card h2{margin:5px 0 6px}.referral-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:16px}.referral-link-row input{width:100%;border:1px solid var(--border);border-radius:11px;padding:12px 13px;background:#f8fafc;font:inherit;color:#2c405e}.referral-copy-status{min-height:18px;margin-top:7px;color:#28754a;font-size:10px;font-weight:800}
.referral-stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.referral-progress-card{padding:22px;margin-bottom:16px}.referral-progress-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.referral-progress-heading h2{margin:5px 0 0}.referral-progress-heading>strong{font-size:22px;color:#8a6300}.referral-progress-track{height:13px;border-radius:999px;background:#edf1f6;overflow:hidden;margin:16px 0 9px}.referral-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f1bd35,#d89510)}.referral-milestones{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.referral-milestones span{display:grid;place-items:center;height:34px;border-radius:9px;background:#f1f3f7;color:#aeb5c0;font-size:17px}.referral-milestones span.done{background:#fff4c6;color:#bb7e00;border:1px solid #efd278}
.referral-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.referral-how-card,.referral-history-card{padding:22px}.referral-how-card h2,.referral-history-card h2{margin:5px 0 14px}.referral-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.referral-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:11px;background:#fafbfd}.referral-steps li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf1ff;color:#275daa;font-weight:900}.referral-steps strong,.referral-steps small{display:block}.referral-steps small{margin-top:3px;color:var(--muted);line-height:1.4}
.referral-history-list{display:grid}.referral-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.referral-history-row:first-child{border-top:0}.referral-history-row strong,.referral-history-row small{display:block}.referral-history-row small{margin-top:3px;color:var(--muted)}.referral-status{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.referral-status.qualified{background:#e6f7ec;color:#16723b}.referral-status.pending{background:#fff4d8;color:#7e590c}.referral-rules-note{padding:16px 20px;margin-top:16px;background:#fbfcfe}.referral-rules-note p{margin:5px 0 0;color:var(--muted);line-height:1.5;font-size:11px}
.profile-referral-box{margin-top:18px;padding:15px;border:1px solid #ead38b;background:#fffaf0;border-radius:12px;display:flex;flex-direction:column;gap:6px}.profile-referral-box strong,.profile-referral-box small{display:block}.profile-referral-box small{color:var(--muted);line-height:1.45}.profile-referral-box .btn{margin-top:6px;align-self:flex-start}.ambassador-profile-badge{padding:5px 8px;border-radius:999px;background:#fff3bf;color:#7a5700;font-size:9px;font-weight:900}.referral-register-banner{margin:12px 0 4px;padding:12px 13px;border:1px solid #ead38b;border-radius:11px;background:#fff9e7;color:#674c09;font-size:11px;line-height:1.5}
.ambassador-earned-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:20px 24px;margin-bottom:16px;border-color:#e5c765;background:linear-gradient(135deg,#fffdf4,#fff7d2)}.ambassador-earned-card h2{margin:4px 0 7px}.ambassador-earned-card p{margin:0;color:#5c5260;line-height:1.55}.ambassador-star{filter:drop-shadow(0 1px 1px rgba(115,78,0,.22))}.ambassador-title-inline{color:#956600;font-size:.9em;font-weight:800}.community-topic-main .ambassador-title-inline{font-size:9px}
.ambassador-medal{position:relative;width:240px;height:240px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 35% 28%,#fffbd8 0 8%,#f9d75b 30%,#d89914 68%,#9a6400 100%);border:8px solid #f8e59c;box-shadow:0 0 0 5px #8c6109,0 18px 48px rgba(75,52,0,.28),inset 0 0 0 5px rgba(255,255,255,.45);color:#4f3500}.ambassador-medal:before,.ambassador-medal:after{content:"";position:absolute;inset:14px;border-radius:50%;border:2px dashed rgba(93,61,0,.45)}.ambassador-medal:after{inset:27px;border-style:solid;border-width:1px}.ambassador-medal-stars{position:absolute;top:37px;left:0;right:0;letter-spacing:2px;font-size:15px;color:#714b00}.ambassador-medal-snake{font-size:54px;line-height:1;margin:6px 0 8px;filter:drop-shadow(0 2px 2px rgba(70,45,0,.22))}.ambassador-medal strong{font-size:19px;letter-spacing:2px}.ambassador-medal>span{font-size:14px;font-weight:900;letter-spacing:4px;margin-top:2px}.ambassador-medal small{position:absolute;bottom:36px;font-size:8px;font-weight:900;letter-spacing:2px}.ambassador-medal-small{width:126px;height:126px;border-width:5px;box-shadow:0 0 0 3px #8c6109,0 10px 25px rgba(75,52,0,.18),inset 0 0 0 3px rgba(255,255,255,.4)}.ambassador-medal-small:before{inset:8px}.ambassador-medal-small:after{inset:15px}.ambassador-medal-small .ambassador-medal-stars{top:18px;font-size:8px}.ambassador-medal-small .ambassador-medal-snake{font-size:30px;margin:5px 0}.ambassador-medal-small strong{font-size:10px;letter-spacing:1px}.ambassador-medal-small>span{font-size:8px;letter-spacing:2px}.ambassador-medal-small small{display:none}
.ambassador-award-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.78);backdrop-filter:blur(7px)}.ambassador-award-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:38px 34px 30px;border-radius:24px;background:linear-gradient(145deg,#fff,#fff9df);border:1px solid #ebcf72;box-shadow:0 30px 90px rgba(0,0,0,.35);text-align:center}.ambassador-award-card h2{margin:8px 0 10px;font-size:34px;letter-spacing:-.035em;color:#27354d}.ambassador-award-card>p{width:min(490px,100%);margin:0 auto 22px;color:#5d6471;line-height:1.6}.ambassador-award-card .ambassador-medal{margin:0 auto 24px;animation:ambassador-medal-in .7s cubic-bezier(.2,.9,.25,1.2)}.ambassador-award-actions{display:flex;justify-content:center}.ambassador-award-actions .btn{min-width:210px}.ambassador-confetti{position:absolute;inset:15px 22px auto;display:flex;justify-content:space-between;pointer-events:none;color:#d69a12;font-size:19px}.ambassador-confetti span:nth-child(2),.ambassador-confetti span:nth-child(4){transform:translateY(22px);color:#e4bd4b}@keyframes ambassador-medal-in{from{opacity:0;transform:scale(.55) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.referral-author-stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.referral-author-list{display:grid}.referral-author-row{display:grid;grid-template-columns:38px minmax(0,1fr) 100px 100px;gap:12px;align-items:center;padding:12px 8px;border-top:1px solid var(--border)}.referral-author-row:first-child{border-top:0}.referral-author-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef3fb;color:#315d9d;font-weight:900}.referral-author-row strong,.referral-author-row small{display:block}.referral-author-row small{margin-top:3px;color:var(--muted)}
@media(max-width:900px){.referral-stats,.referral-author-stats{grid-template-columns:repeat(2,1fr)}.referral-grid{grid-template-columns:1fr}.referral-author-row{grid-template-columns:38px minmax(0,1fr) 78px 78px}}
@media(max-width:620px){.referral-link-row{grid-template-columns:1fr}.referral-link-row .btn{width:100%}.referral-stats,.referral-author-stats{grid-template-columns:1fr 1fr}.ambassador-earned-card{grid-template-columns:1fr;text-align:center}.ambassador-earned-card .ambassador-medal{margin:auto}.ambassador-award-card{padding:32px 18px 24px}.ambassador-award-card h2{font-size:28px}.ambassador-medal{width:210px;height:210px}.referral-author-row{grid-template-columns:32px minmax(0,1fr) auto}.referral-author-row>div:last-child{grid-column:2}.referral-author-row>div:nth-child(3),.referral-author-row>div:nth-child(4){font-size:10px}}


/* ================================================================
   WEB v0.17 — Panel statystyk Akademii
   ================================================================ */
.analytics-heading{align-items:flex-start}
.analytics-periods{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.analytics-period{padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:#fff;font-weight:700;font-size:13px;color:var(--muted)}
.analytics-period:hover{border-color:#aac4ff;color:#174eb8}
.analytics-period.active{background:var(--primary);border-color:var(--primary);color:#fff}
.analytics-note{padding:13px 16px;margin-bottom:16px;display:flex;align-items:center;gap:14px;line-height:1.45}
.analytics-note strong{white-space:nowrap;color:#174eb8}
.analytics-note span{color:var(--muted);font-size:13px}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.analytics-kpi{padding:18px;display:flex;gap:14px;align-items:center;min-height:116px}
.analytics-kpi-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #cbdaf7;background:#f3f7ff;border-radius:13px;font-size:22px;flex:0 0 auto}
.analytics-kpi>div{min-width:0;display:flex;flex-direction:column}
.analytics-kpi small{color:var(--muted);font-weight:700}
.analytics-kpi strong{font-size:30px;line-height:1.1;margin:3px 0}
.analytics-kpi em{font-size:12px;color:var(--muted);font-style:normal}
.analytics-section{overflow:hidden}
.analytics-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.analytics-legend{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px}
.analytics-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.legend-dot.registrations,.analytics-bar.registrations{background:#2563eb}
.legend-dot.lessons,.analytics-bar.lessons{background:#16a36a}
.analytics-chart{height:250px;margin-top:18px;padding:12px 8px 0;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;border-top:1px solid #edf1f6;background:linear-gradient(to bottom,rgba(220,228,239,.45) 1px,transparent 1px);background-size:100% 25%}
.analytics-chart-day{min-width:0;display:grid;grid-template-rows:1fr 24px;gap:7px;text-align:center}
.analytics-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:7px}
.analytics-bar{width:min(31px,38%);min-height:2px;border-radius:7px 7px 2px 2px;position:relative;transition:height .2s ease}
.analytics-bar span{position:absolute;left:50%;top:-21px;transform:translateX(-50%);font-size:11px;font-weight:800;color:var(--text)}
.analytics-chart-day small{color:var(--muted);font-weight:650}
.analytics-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.analytics-funnel{display:flex;flex-direction:column;gap:13px;margin-top:18px}
.analytics-funnel-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,1.5fr) 45px;gap:11px;align-items:center}
.analytics-funnel-copy{display:flex;justify-content:space-between;gap:8px}
.analytics-funnel-copy span{color:var(--muted);font-size:12px;white-space:nowrap}
.analytics-funnel-track{height:10px;background:#edf1f6;border-radius:999px;overflow:hidden}
.analytics-funnel-track span{height:100%;display:block;background:var(--primary);border-radius:999px;min-width:0}
.analytics-funnel-row>b{text-align:right;font-size:12px}
.analytics-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.analytics-mini-grid>div{border:1px solid var(--border);border-radius:11px;padding:14px;background:var(--surface-2);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px}
.analytics-mini-grid>div>span{grid-row:1/3;font-size:21px;align-self:center}
.analytics-mini-grid strong{font-size:24px}
.analytics-mini-grid small{color:var(--muted)}
.analytics-table-wrap{overflow:auto;margin-top:15px;border:1px solid var(--border);border-radius:11px}
.analytics-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff}
.analytics-table th,.analytics-table td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle}
.analytics-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8fafc}
.analytics-table tbody tr:last-child td{border-bottom:0}
.analytics-table tbody tr:hover{background:#fbfdff}
.analytics-count{display:inline-grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:999px;background:#eef4ff;color:#174eb8;font-weight:800}
.analytics-feedback-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.analytics-feedback-top>div{padding:13px;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column}
.analytics-feedback-top small{color:var(--muted)}
.analytics-feedback-top strong{font-size:23px;margin:2px 0}
.analytics-feedback-top em{font-style:normal;color:var(--muted);font-size:11px}
.analytics-subtitle{font-size:14px;margin:17px 0 9px}
.analytics-category-list{display:flex;flex-direction:column;gap:7px}
.analytics-category-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:8px}
.analytics-category-list span{color:#475569}
.analytics-inline-btn{margin-top:15px}
.analytics-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}
.analytics-status.good{background:#eaf9f1;color:#126b3e}
.analytics-status.pending{background:#fff7df;color:#8a6816}
.analytics-empty{padding:22px;margin-top:15px;border:1px dashed var(--border);border-radius:11px;text-align:center;color:var(--muted);background:#fafcff}

@media(max-width:1100px){
  .analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-two-column{grid-template-columns:1fr}
}
@media(max-width:720px){
  .analytics-heading{flex-direction:column}
  .analytics-periods{justify-content:flex-start}
  .analytics-note{align-items:flex-start;flex-direction:column;gap:4px}
  .analytics-kpi-grid{grid-template-columns:1fr}
  .analytics-chart{height:210px;gap:4px}
  .analytics-bars{gap:3px}
  .analytics-funnel-row{grid-template-columns:1fr 45px}
  .analytics-funnel-copy{grid-column:1/3}
  .analytics-feedback-top,.analytics-mini-grid{grid-template-columns:1fr}
}


/* ================================================================
   WEB v0.18 — Pierwsza 100 / Pionier Akademii
   ================================================================ */
.first100-section{padding-top:12px;padding-bottom:12px}
.first100-card{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) 180px minmax(210px,.55fr);gap:24px;align-items:center;padding:24px 28px;border:1px solid #c9d8f4;border-radius:20px;background:linear-gradient(135deg,#f7faff 0%,#fff 52%,#f3f8ff 100%);box-shadow:0 18px 50px rgba(26,72,145,.08)}
.first100-copy h2{margin:5px 0 8px;font-size:clamp(24px,2.6vw,36px)}
.first100-copy p{margin:0;color:#526176;line-height:1.6}
.first100-progress-row{margin-top:18px}
.first100-progress-row>div:first-child{display:flex;align-items:baseline;gap:8px;margin-bottom:7px}
.first100-progress-row>div:first-child strong{font-size:28px;color:#123f94}
.first100-progress-row>div:first-child span,.first100-progress-row small{color:#66758a}
.first100-progress{height:13px;background:#e5edf9;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(20,50,90,.08)}
.first100-progress>span{display:block;height:100%;background:linear-gradient(90deg,#2d6cdf,#6c8df4);border-radius:999px}
.first100-progress-row small{display:block;margin-top:6px}
.first100-medal-mini{width:150px;height:150px;justify-self:center;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff8cf 0,#ffd768 34%,#d9a61f 68%,#9c7011 100%);border:6px solid #f6d45d;outline:3px solid #b98b17;box-shadow:0 12px 30px rgba(133,95,11,.25),inset 0 0 0 5px rgba(255,255,255,.35);color:#4e3707;text-align:center}
.first100-medal-mini div{font-size:38px;line-height:1}
.first100-medal-mini strong{font-size:17px;letter-spacing:.08em;margin-top:5px}
.first100-medal-mini span{font-size:11px;font-weight:900;letter-spacing:.1em}
.first100-medal-mini small{font-size:8px;font-weight:900;margin-top:4px}
.first100-action{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.first100-action .btn{text-align:center}
.first100-action small{font-size:11px;color:#778397;line-height:1.45;text-align:center}

.pioneer-profile-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eef5ff;border:1px solid #bed1f6;color:#174b9c;font-size:12px;font-weight:800}
.profile-pioneer-box{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;margin-top:16px;padding:14px;border:1px solid #c9d8f4;background:linear-gradient(135deg,#f6faff,#fff);border-radius:12px}
.profile-pioneer-box>div:last-child{display:flex;flex-direction:column;gap:2px}
.profile-pioneer-box strong{color:#174b9c}
.profile-pioneer-box small{color:var(--muted);line-height:1.45}
.profile-pioneer-medal{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff4b7,#d9a61f);border:3px solid #e4bd43;font-size:25px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.pioneer-title-inline{color:#2457a9;font-weight:800}
.pioneer-star{filter:drop-shadow(0 1px 1px rgba(38,83,160,.22))}

.pioneer-award-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 35%,rgba(37,99,235,.28),rgba(5,15,35,.88) 62%);backdrop-filter:blur(5px)}
.pioneer-award-card{position:relative;width:min(720px,96vw);max-height:94vh;overflow:auto;padding:34px 38px 30px;border-radius:24px;background:linear-gradient(160deg,#fff 0%,#f3f8ff 56%,#fff7d9 100%);box-shadow:0 28px 90px rgba(0,0,0,.35);text-align:center;border:1px solid rgba(255,255,255,.75)}
.pioneer-award-card h2{font-size:clamp(30px,5vw,48px);margin:6px 0 10px;color:#113d87}
.pioneer-award-lead{max-width:590px;margin:0 auto 18px;color:#4f5f75;font-size:16px;line-height:1.6}
.pioneer-stars{position:absolute;inset:12px 20px auto;display:flex;justify-content:space-between;color:#d2a527;font-size:20px;opacity:.85}
.pioneer-medal{width:230px;height:230px;margin:18px auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 34% 28%,#fff9cf 0,#ffe277 27%,#e0ae2b 58%,#9b6c0a 100%);border:9px solid #f5d45c;outline:4px solid #b48513;box-shadow:0 18px 44px rgba(122,86,10,.3),inset 0 0 0 7px rgba(255,255,255,.28);color:#4e3505}
.pioneer-medal-rocket{font-size:56px;line-height:1;margin-bottom:5px;filter:drop-shadow(0 4px 3px rgba(0,0,0,.13))}
.pioneer-medal strong{font-size:27px;letter-spacing:.09em}
.pioneer-medal>span{font-size:15px;font-weight:1000;letter-spacing:.16em}
.pioneer-medal small{margin-top:7px;font-size:10px;font-weight:1000;letter-spacing:.08em}
.pioneer-medal-orbit{position:absolute;inset:13px;color:#fff7c5;display:flex;justify-content:space-around;font-size:13px}
.pioneer-award-number{display:flex;flex-direction:column;gap:1px;margin:8px auto 18px}
.pioneer-award-number span,.pioneer-award-number small{color:#66758a}
.pioneer-award-number strong{font-size:34px;color:#174b9c}
.pioneer-award-actions{display:flex;justify-content:center}
.pioneer-award-actions .btn{min-width:230px}
.first100-admin-progress{margin:15px 0 8px}
.first100-admin-progress>div:first-child{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.first100-admin-progress strong{font-size:24px}
.first100-admin-progress span{color:var(--muted);font-size:12px}

@media(max-width:900px){
  .first100-card{grid-template-columns:1fr 140px}
  .first100-action{grid-column:1/3}
  .first100-medal-mini{width:128px;height:128px}
}
@media(max-width:640px){
  .first100-card{grid-template-columns:1fr;padding:20px}
  .first100-medal-mini{grid-row:auto;justify-self:start}
  .first100-action{grid-column:auto}
  .pioneer-award-card{padding:30px 20px 24px}
  .pioneer-medal{width:190px;height:190px}
}


/* WEB v0.18.0.3 — globalna informacja PSF */
.global-trademark-notice{box-sizing:border-box;width:100%;padding:10px 18px;text-align:center;background:#f7f9fc;border-top:1px solid #e1e7f0;color:#68758a;font-size:11px;line-height:1.5}
.global-trademark-notice span{display:inline}
.global-trademark-notice span+span::before{content:" • ";color:#9aa6b8}
@media(max-width:720px){.global-trademark-notice{padding:10px 14px;font-size:10px}.global-trademark-notice span{display:block}.global-trademark-notice span+span{margin-top:2px}.global-trademark-notice span+span::before{content:""}}
