.zib-php-master-course,
.zib-php-master-lesson {
  --php-blue: #1557ff;
  --php-purple: #6f54e8;
  --php-ink: #091329;
  --php-muted: #60708a;
  --php-line: #dce5f1;
  --php-surface: #ffffff;
  --php-soft: #f4f7fc;
}

/* Course landing page */
.zib-php-hero {
  position: relative;
  overflow: hidden;
  padding: 66px 0 76px;
  border-bottom: 1px solid var(--php-line);
  background:
    radial-gradient(circle at 12% 20%, rgba(21,87,255,.12), transparent 28%),
    radial-gradient(circle at 82% 15%, rgba(111,84,232,.12), transparent 28%),
    linear-gradient(180deg, #fff, #f8faff);
}
.zib-php-hero::before { content:""; position:absolute; inset:0; opacity:.32; pointer-events:none; background-image:radial-gradient(#88a5d2 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(to bottom,#000,transparent 90%); }
.zib-php-hero-grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; }
.zib-php-hero-copy h1 { margin:18px 0; max-width:720px; color:var(--php-ink); font-size:clamp(40px,5.2vw,68px); line-height:1.35; letter-spacing:-2px; }
.zib-php-hero-copy h1 em { color:var(--php-blue); font-style:normal; }
.zib-php-hero-copy > p { max-width:680px; margin:0; color:var(--php-muted); font-size:18px; line-height:2.1; }
.zib-php-kicker { display:inline-flex; margin-top:22px; padding:9px 14px; border:1px solid #cbdcff; border-radius:999px; color:#1557ff; background:#edf4ff; font-size:13px; font-weight:900; }
.zib-php-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0; }
.zib-php-hero-actions .zib-btn { min-height:52px; padding:0 24px; }
.zib-php-hero-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding-top:22px; border-top:1px solid var(--php-line); }
.zib-php-hero-stats span { display:grid; gap:2px; color:var(--php-muted); font-size:12px; }
.zib-php-hero-stats strong { color:var(--php-ink); font-size:22px; }
.zib-php-hero-art { position:relative; min-height:520px; }
.zib-php-logo-orbit { position:absolute; z-index:0; top:20px; left:50%; display:grid; width:320px; height:320px; place-items:center; transform:translateX(-50%); border:1px solid rgba(21,87,255,.12); border-radius:50%; background:radial-gradient(circle,#eef3ff 0 40%,transparent 41%); }
.zib-php-logo-orbit::before,.zib-php-logo-orbit::after { content:""; position:absolute; border:1px dashed rgba(21,87,255,.18); border-radius:50%; }
.zib-php-logo-orbit::before { inset:34px; }.zib-php-logo-orbit::after { inset:72px; }
.zib-php-logo-orbit > span { z-index:2; display:grid; width:128px; height:128px; place-items:center; border-radius:35px; background:linear-gradient(145deg,#fff,#e7edff); box-shadow:0 28px 65px rgba(41,67,128,.24); }
.zib-php-logo-orbit svg { width:92px; height:92px; }
.zib-php-logo-orbit > i { position:absolute; z-index:3; width:17px; height:17px; border:4px solid #fff; border-radius:50%; background:#1557ff; box-shadow:0 5px 15px rgba(21,87,255,.3); }
.zib-php-logo-orbit > i:nth-of-type(1){top:44px;right:48px}.zib-php-logo-orbit > i:nth-of-type(2){bottom:55px;left:35px;background:#794cf0}.zib-php-logo-orbit > i:nth-of-type(3){bottom:24px;right:78px;background:#16b982}
.zib-php-code-card { position:absolute; z-index:4; right:8%; bottom:0; width:84%; overflow:hidden; border:1px solid #24354f; border-radius:24px; color:#dbe8ff; background:#081427; box-shadow:0 35px 80px rgba(5,18,42,.32),0 5px 0 rgba(7,18,38,.12); direction:ltr; text-align:left; }
.zib-php-code-card header { display:flex; align-items:center; gap:7px; padding:14px 17px; border-bottom:1px solid #203149; background:#101d31; }
.zib-php-code-card header i { width:9px;height:9px;border-radius:50%;background:#ff5d56}.zib-php-code-card header i:nth-child(2){background:#ffbd2e}.zib-php-code-card header i:nth-child(3){background:#26c940}.zib-php-code-card header b{margin-left:auto;color:#8fa6c6;font:12px ui-monospace,monospace}
.zib-php-code-card pre { margin:0; padding:24px; font:15px/2 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; }.zib-php-code-card code span{color:#ff81d6}
.zib-php-code-card footer { display:grid; gap:4px; padding:15px 20px; border-top:1px solid #203149; color:#73f5b2; background:#06101e; direction:rtl;text-align:right}.zib-php-code-card footer span{color:#8297b7;font-size:11px}
.zib-php-float-card { position:absolute; z-index:5; display:grid; gap:2px; min-width:150px; padding:14px 17px; border:1px solid rgba(255,255,255,.9); border-radius:17px; background:rgba(255,255,255,.88); box-shadow:0 20px 45px rgba(38,61,108,.17); backdrop-filter:blur(12px); }.zib-php-float-card strong{color:var(--php-ink)}.zib-php-float-card small{color:var(--php-muted)}.zib-php-float-card.is-one{top:100px;right:0}.zib-php-float-card.is-two{top:210px;left:0}

.zib-php-learning-method { padding:72px 0; background:#fff; }
.zib-php-learning-method .zib-container > header { max-width:700px; margin:0 auto 34px; text-align:center; }
.zib-php-learning-method header > span,.zib-php-section-head > div > span { color:var(--php-blue); font-size:13px; font-weight:900; }
.zib-php-learning-method h2,.zib-php-section-head h2 { margin:8px 0 6px; color:var(--php-ink); font-size:clamp(28px,3vw,40px); }
.zib-php-learning-method header p,.zib-php-section-head p { margin:0;color:var(--php-muted);line-height:1.9 }
.zib-php-learning-method .zib-container > div { display:grid;grid-template-columns:repeat(3,1fr);gap:18px }
.zib-php-learning-method article { position:relative; padding:28px; border:1px solid var(--php-line); border-radius:24px; background:linear-gradient(145deg,#fff,#f8faff); box-shadow:0 18px 42px rgba(34,62,112,.08),0 2px 0 rgba(21,87,255,.05); }
.zib-php-learning-method article b { display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#1557ff,#7554eb);box-shadow:0 10px 24px rgba(21,87,255,.26) }.zib-php-learning-method article h3{margin:16px 0 6px}.zib-php-learning-method article p{margin:0;color:var(--php-muted);line-height:1.9}

.zib-php-roadmap { padding:76px 0; border-block:1px solid var(--php-line); background:#f6f8fc; }
.zib-php-section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:26px; }
.zib-php-search { display:flex; width:min(430px,100%); min-height:52px; align-items:center; gap:11px; padding:0 17px; border:1px solid #d3deed; border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(38,61,104,.07); }.zib-php-search span{font-size:25px}.zib-php-search input{width:100%;border:0;outline:0;color:var(--php-ink);background:transparent;font:inherit}
.zib-php-level-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:30px; }.zib-php-level-filters button{padding:10px 15px;border:1px solid #d4dfed;border-radius:12px;color:#41516a;background:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.zib-php-level-filters button.is-active{border-color:#1557ff;color:#fff;background:#1557ff;box-shadow:0 9px 20px rgba(21,87,255,.23)}
.zib-php-chapters { display:grid; gap:22px; }
.zib-php-chapter { overflow:hidden; border:1px solid #d9e3f0; border-radius:25px; background:#fff; box-shadow:0 18px 44px rgba(31,55,98,.08),0 3px 0 rgba(48,74,121,.04); }
.zib-php-chapter[hidden],.zib-php-lesson-cards a[hidden]{display:none!important}
.zib-php-chapter > header { display:flex;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid #e4ebf4;background:linear-gradient(100deg,#f0f5ff,#faf8ff)}
.zib-php-chapter-number { display:grid;width:48px;height:48px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#1557ff,#7554eb);box-shadow:0 10px 23px rgba(21,87,255,.23);font-weight:900 }
.zib-php-chapter > header div:nth-child(2){display:grid;gap:2px}.zib-php-chapter > header span{color:#1557ff;font-size:11px;font-weight:900}.zib-php-chapter > header h3{margin:0;color:var(--php-ink);font-size:20px}.zib-php-chapter > header small{margin-right:auto;padding:7px 10px;border-radius:999px;color:#51627b;background:#fff}
.zib-php-lesson-cards { display:grid; grid-template-columns:repeat(4,1fr); }
.zib-php-lesson-cards a { position:relative; display:grid;grid-template-columns:auto 1fr auto;gap:12px;min-width:0;padding:22px 18px;color:inherit;text-decoration:none;border-left:1px solid #e7edf5;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.zib-php-lesson-cards a:last-child{border-left:0}.zib-php-lesson-cards a:hover{z-index:2;transform:translateY(-4px);background:#f8fbff;box-shadow:0 18px 35px rgba(35,69,128,.12)}
.zib-php-lesson-cards a > span{display:grid;width:31px;height:31px;place-items:center;border:1px solid #cfe0ff;border-radius:10px;color:#1557ff;background:#edf4ff;font-size:12px;font-weight:900}.zib-php-lesson-cards h4{margin:4px 0 7px;color:var(--php-ink);font-size:15px;line-height:1.7}.zib-php-lesson-cards small{color:#8290a5;font-size:10px}.zib-php-lesson-cards p{margin:0;color:var(--php-muted);font-size:12px;line-height:1.8}.zib-php-lesson-cards a>b{align-self:center;color:#1557ff;font-size:18px}.zib-php-empty{padding:30px;border:1px dashed #c7d4e7;border-radius:18px;text-align:center;color:var(--php-muted);background:#fff}

.zib-php-projects{padding:76px 0;background:#fff}.zib-php-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.zib-php-project-grid article{position:relative;min-height:190px;padding:25px;overflow:hidden;border:1px solid #dce5f1;border-radius:23px;background:linear-gradient(145deg,#fff,#f5f8ff);box-shadow:0 18px 40px rgba(31,55,98,.08)}.zib-php-project-grid article>span{position:absolute;top:-22px;left:15px;color:rgba(21,87,255,.09);font-size:100px;font-weight:1000}.zib-php-project-grid small{position:relative;color:#1557ff;font-weight:900}.zib-php-project-grid h3{position:relative;margin:18px 0 7px;color:var(--php-ink)}.zib-php-project-grid p{position:relative;margin:0;color:var(--php-muted);line-height:1.9}.zib-php-project-grid i{position:absolute;left:20px;bottom:18px;padding:6px 10px;border-radius:9px;color:#fff;background:#1557ff;font-size:11px;font-style:normal;font-weight:900}
.zib-php-final-cta{padding:60px 0;background:linear-gradient(135deg,#07142a,#102b5d);color:#fff}.zib-php-final-cta .zib-container{display:flex;align-items:center;justify-content:space-between;gap:30px}.zib-php-final-cta span{color:#91b6ff;font-size:13px;font-weight:900}.zib-php-final-cta h2{max-width:760px;margin:8px 0;font-size:clamp(26px,3vw,38px)}.zib-php-final-cta p{margin:0;color:#b9cae5}.zib-php-final-cta .zib-btn{white-space:nowrap}

/* 80-lesson grouped sidebar */
.zib-php-master-lesson .zib-course-sidebar { display:flex; flex-direction:column; }
.zib-php-master-lesson .zib-sidebar-course { order:0; }
.zib-php-master-lesson .zib-php-chapter-sidebar { order:1; display:grid; gap:8px; max-height:62vh; margin:12px 0; overflow:auto; scrollbar-width:thin; }
.zib-php-master-lesson .zib-course-sidebar > nav { display:none; }
.zib-php-master-lesson .zib-sidebar-progress { order:3; }
.zib-php-chapter-sidebar details { overflow:hidden; border:1px solid #dee6f0; border-radius:14px; background:#fff; }
.zib-php-chapter-sidebar summary { display:flex;align-items:center;gap:10px;padding:11px;cursor:pointer;list-style:none}.zib-php-chapter-sidebar summary::-webkit-details-marker{display:none}.zib-php-chapter-sidebar summary>span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:#1557ff;background:#edf4ff;font-size:11px;font-weight:900}.zib-php-chapter-sidebar summary>div{display:grid;min-width:0;gap:1px}.zib-php-chapter-sidebar summary small{color:#7b899f;font-size:9px}.zib-php-chapter-sidebar summary strong{overflow:hidden;color:#172238;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.zib-php-chapter-sidebar summary>i{margin-right:auto;color:#7f8da1;font-style:normal;transition:transform .2s}.zib-php-chapter-sidebar details[open] summary>i{transform:rotate(180deg)}
.zib-php-chapter-sidebar nav{display:grid;padding:0 8px 8px}.zib-php-chapter-sidebar nav a{display:grid;grid-template-columns:25px 1fr 16px;gap:7px;align-items:center;padding:9px 7px;border-radius:10px;color:#43516a;text-decoration:none}.zib-php-chapter-sidebar nav a:hover,.zib-php-chapter-sidebar nav a.is-current{color:#0e45bd;background:#edf4ff}.zib-php-chapter-sidebar nav a>span{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#f0f3f8;font-size:9px}.zib-php-chapter-sidebar nav a>div{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.zib-php-chapter-sidebar nav a small{display:none}.zib-php-chapter-sidebar nav a>b{opacity:0;color:#17a768}.zib-php-chapter-sidebar nav a.is-complete>b{opacity:1}

/* Lesson walkthrough and progressive practice */
.zib-php-walkthrough{margin:22px 0;padding:24px;border:1px solid #dbe5f2;border-radius:22px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 13px 32px rgba(31,55,98,.07)}.zib-php-walkthrough header>span,.zib-php-practice-ladder header>span{color:#1557ff;font-size:12px;font-weight:900}.zib-php-walkthrough h3,.zib-php-practice-ladder h3{margin:5px 0}.zib-php-walkthrough header p{margin:0;color:var(--php-muted)}.zib-php-walkthrough ol{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}.zib-php-walkthrough li{display:grid;grid-template-columns:28px minmax(180px,.8fr) 1.2fr;gap:12px;align-items:start;padding:11px;border:1px solid #e0e8f2;border-radius:12px;background:#fff}.zib-php-walkthrough li>span{display:grid;width:25px;height:25px;place-items:center;border-radius:7px;color:#1557ff;background:#edf4ff;font-size:10px;font-weight:900}.zib-php-walkthrough code{direction:ltr;text-align:left;overflow:auto;padding:3px 0;color:#7945d8;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}.zib-php-walkthrough li p{margin:0;color:#506079;font-size:12px;line-height:1.8}
.zib-php-docs-link{display:grid;grid-template-columns:1fr auto;gap:3px;margin:18px 0;padding:17px 19px;border:1px solid #c8daf8;border-radius:16px;color:inherit;text-decoration:none;background:#f1f6ff}.zib-php-docs-link span{color:#1557ff;font-size:11px;font-weight:900}.zib-php-docs-link strong{grid-column:1;color:#10244a}.zib-php-docs-link small{grid-column:1;color:#6f7d91}.zib-php-docs-link::after{content:"↗";grid-column:2;grid-row:1/4;align-self:center;font-size:23px;color:#1557ff}
.zib-php-practice-ladder{margin:22px 0 42px;padding:24px;border:1px solid #dbe5f1;border-radius:22px;background:#fff}.zib-php-practice-ladder>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.zib-php-practice-ladder article{padding:17px;border:1px solid #e0e7f0;border-radius:15px;background:#f8faff}.zib-php-practice-ladder article:nth-child(2){border-color:#cbdcff;background:#f1f6ff}.zib-php-practice-ladder article:nth-child(3){border-color:#d9cdfb;background:#f8f4ff}.zib-php-practice-ladder b{color:#1557ff;font-size:12px}.zib-php-practice-ladder p{margin:8px 0 0;color:#52617a;font-size:13px;line-height:1.9}

/* Unified dark mode: no stray white panels. */
body.zib-theme-dark.zib-php-master-course,body.zib-dark.zib-php-master-course,
body.zib-theme-dark.zib-php-master-lesson,body.zib-dark.zib-php-master-lesson{--php-ink:#edf4ff;--php-muted:#a9b8ce;--php-line:#293b55;--php-surface:#101c2e;--php-soft:#0c1728;background:#091321;color:#e8f0fb}
body.zib-theme-dark .zib-php-hero,body.zib-dark .zib-php-hero{border-color:#263b59;background:radial-gradient(circle at 15% 20%,rgba(21,87,255,.22),transparent 30%),radial-gradient(circle at 80% 15%,rgba(111,84,232,.2),transparent 30%),linear-gradient(180deg,#0b1728,#0c1829)}
body.zib-theme-dark .zib-php-kicker,body.zib-dark .zib-php-kicker{border-color:#365789;color:#9bbcff;background:#132747}
body.zib-theme-dark .zib-php-float-card,body.zib-dark .zib-php-float-card{border-color:#334865;background:rgba(16,29,48,.9)}
body.zib-theme-dark .zib-php-learning-method,body.zib-dark .zib-php-learning-method,
body.zib-theme-dark .zib-php-projects,body.zib-dark .zib-php-projects{background:#0b1626}
body.zib-theme-dark .zib-php-learning-method article,body.zib-dark .zib-php-learning-method article,
body.zib-theme-dark .zib-php-project-grid article,body.zib-dark .zib-php-project-grid article{border-color:#293d59;background:linear-gradient(145deg,#101d30,#0d192a)}
body.zib-theme-dark .zib-php-roadmap,body.zib-dark .zib-php-roadmap{border-color:#293b55;background:#091523}
body.zib-theme-dark .zib-php-search,body.zib-dark .zib-php-search,
body.zib-theme-dark .zib-php-level-filters button,body.zib-dark .zib-php-level-filters button,
body.zib-theme-dark .zib-php-chapter,body.zib-dark .zib-php-chapter{border-color:#2a3d58;color:#dfeafa;background:#101c2e}
body.zib-theme-dark .zib-php-search input,body.zib-dark .zib-php-search input{color:#eaf2ff}
body.zib-theme-dark .zib-php-chapter>header,body.zib-dark .zib-php-chapter>header{border-color:#2b3e5a;background:linear-gradient(100deg,#122541,#1a1732)}
body.zib-theme-dark .zib-php-chapter>header small,body.zib-dark .zib-php-chapter>header small{color:#b1bfd3;background:#18263b}
body.zib-theme-dark .zib-php-lesson-cards a,body.zib-dark .zib-php-lesson-cards a{border-color:#263851}
body.zib-theme-dark .zib-php-lesson-cards a:hover,body.zib-dark .zib-php-lesson-cards a:hover{background:#14243b}
body.zib-theme-dark .zib-php-chapter-sidebar details,body.zib-dark .zib-php-chapter-sidebar details,
body.zib-theme-dark .zib-php-walkthrough,body.zib-dark .zib-php-walkthrough,
body.zib-theme-dark .zib-php-walkthrough li,body.zib-dark .zib-php-walkthrough li,
body.zib-theme-dark .zib-php-practice-ladder,body.zib-dark .zib-php-practice-ladder{border-color:#2b3e5a;color:#e5eefb;background:#101d30}
body.zib-theme-dark .zib-php-chapter-sidebar summary strong,body.zib-dark .zib-php-chapter-sidebar summary strong{color:#e5eefb}
body.zib-theme-dark .zib-php-chapter-sidebar nav a,body.zib-dark .zib-php-chapter-sidebar nav a{color:#b8c5d8}
body.zib-theme-dark .zib-php-chapter-sidebar nav a:hover,body.zib-dark .zib-php-chapter-sidebar nav a:hover,
body.zib-theme-dark .zib-php-chapter-sidebar nav a.is-current,body.zib-dark .zib-php-chapter-sidebar nav a.is-current{color:#fff;background:#18315a}
body.zib-theme-dark .zib-php-walkthrough code,body.zib-dark .zib-php-walkthrough code{color:#c8a8ff}
body.zib-theme-dark .zib-php-walkthrough li p,body.zib-dark .zib-php-walkthrough li p,
body.zib-theme-dark .zib-php-practice-ladder p,body.zib-dark .zib-php-practice-ladder p{color:#aebdd1}
body.zib-theme-dark .zib-php-docs-link,body.zib-dark .zib-php-docs-link{border-color:#315283;background:#102747}
body.zib-theme-dark .zib-php-docs-link strong,body.zib-dark .zib-php-docs-link strong{color:#e8f1ff}
body.zib-theme-dark .zib-php-practice-ladder article,body.zib-dark .zib-php-practice-ladder article{border-color:#30435e;background:#142238}

@media (max-width:1100px){.zib-php-hero-grid{grid-template-columns:1fr;gap:25px}.zib-php-hero-art{width:min(650px,100%);margin:auto}.zib-php-lesson-cards{grid-template-columns:repeat(2,1fr)}.zib-php-lesson-cards a:nth-child(2){border-left:0}.zib-php-project-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.zib-php-hero{padding:35px 0 48px}.zib-php-hero-copy h1{font-size:38px;letter-spacing:-1px}.zib-php-hero-copy>p{font-size:15px}.zib-php-hero-stats{grid-template-columns:repeat(2,1fr)}.zib-php-hero-art{min-height:440px}.zib-php-logo-orbit{width:260px;height:260px}.zib-php-code-card{right:0;width:100%}.zib-php-float-card{display:none}.zib-php-learning-method .zib-container>div,.zib-php-project-grid,.zib-php-practice-ladder>div{grid-template-columns:1fr}.zib-php-section-head{display:grid;align-items:start}.zib-php-search{width:100%}.zib-php-lesson-cards{grid-template-columns:1fr}.zib-php-lesson-cards a{border-left:0;border-bottom:1px solid #e7edf5}.zib-php-final-cta .zib-container{display:grid}.zib-php-walkthrough li{grid-template-columns:27px 1fr}.zib-php-walkthrough li p{grid-column:2}.zib-php-chapter>header{align-items:flex-start}.zib-php-chapter>header small{display:none}}
