
:root{
  --bg:#060817;
  --panel:#0d1229;
  --panel-2:#121936;
  --text:#f7f8ff;
  --muted:#9ca7c7;
  --blue:#63a4ff;
  --cyan:#5ce1e6;
  --coral:#ff7a8a;
  --amber:#ffc857;
  --violet:#a98bff;
  --line:rgba(99,164,255,.30);
  --shadow:0 24px 70px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;padding:20px;color:var(--text);
  font-family:Inter,"Segoe UI",Arial,sans-serif;background:
  radial-gradient(circle at 8% -5%,rgba(99,164,255,.22),transparent 32%),
  radial-gradient(circle at 92% 2%,rgba(169,139,255,.18),transparent 30%),
  radial-gradient(circle at 50% 110%,rgba(92,225,230,.10),transparent 40%),
  #060817;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.40;
  background-image:linear-gradient(rgba(99,164,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(99,164,255,.045) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 95%);
}
body.he{direction:rtl;text-align:right;font-family:"Rubik","Noto Sans Hebrew","Segoe UI",Arial,sans-serif}
body.he .enonly{display:none!important}
body:not(.he) .heonly{display:none!important}
.wrap{max-width:1080px;margin:0 auto}
.lang-switch{
  position:fixed;top:18px;right:18px;z-index:1000;height:42px;min-width:96px;padding:0 15px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(99,164,255,.52);
  border-radius:999px;background:rgba(9,13,31,.82);color:#fff;font:900 .76rem ui-monospace,"Roboto Mono",monospace;
  letter-spacing:.08em;cursor:pointer;box-shadow:0 0 22px rgba(99,164,255,.18);backdrop-filter:blur(12px);
}
.lang-switch:hover{border-color:var(--cyan);box-shadow:0 0 28px rgba(92,225,230,.24)}
body.he .lang-switch{right:auto;left:18px;direction:ltr}
.hero{
  position:relative;overflow:hidden;margin:8px 0 18px;padding:32px 32px 30px;border:1px solid rgba(99,164,255,.40);
  border-radius:28px;background:linear-gradient(135deg,rgba(13,18,41,.97),rgba(17,24,53,.96) 60%,rgba(39,32,78,.82));
  box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,255,255,.025);
}
.hero::before{content:"";position:absolute;inset:auto -70px -100px auto;width:270px;height:270px;border:1px solid rgba(92,225,230,.22);transform:rotate(18deg);box-shadow:0 0 70px rgba(92,225,230,.10)}
.hero::after{content:"[ 1  0  x ]\A[ 0  λ  1 ]\A[ y  1  0 ]";white-space:pre;position:absolute;right:35px;top:26px;color:rgba(92,225,230,.18);font:900 1.05rem/1.65 ui-monospace,"Roboto Mono",monospace;transform:rotate(-4deg)}
body.he .hero::after{right:auto;left:35px}
.kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;padding:7px 11px;border:1px solid rgba(92,225,230,.34);border-radius:999px;background:rgba(92,225,230,.055);color:#cffcff;font:900 .72rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.09em;text-transform:uppercase}
h1{max-width:760px;margin:0;font-size:clamp(2.25rem,6vw,4.6rem);line-height:.95;letter-spacing:-.055em;color:#fff;text-shadow:0 0 24px rgba(99,164,255,.24)}
body.he h1{font-size:clamp(1.75rem,4.8vw,3.35rem);line-height:1.14;letter-spacing:0}
.hero-sub{max-width:740px;margin:14px 0 0;color:#b9c4e5;font-size:clamp(.98rem,2vw,1.16rem);font-weight:650;line-height:1.5}
.hero-accent{color:var(--cyan)}
.matrix-mark{display:flex;gap:7px;margin-top:20px;flex-wrap:wrap}
.matrix-mark span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;border:1px solid rgba(169,139,255,.34);border-radius:10px;background:rgba(169,139,255,.07);color:#e7ddff;font:900 .8rem ui-monospace,"Roboto Mono",monospace}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:22px 4px 12px}
.section-head h2{margin:0;font-size:1.05rem;letter-spacing:.13em;text-transform:uppercase;color:#dfe7ff}
body.he .section-head h2{letter-spacing:0;text-transform:none}
.section-head p{margin:0;color:var(--muted);font-size:.88rem}
.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.week-card{
  --accent:var(--blue);position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) 28px;align-items:center;gap:16px;
  min-height:136px;padding:19px 20px;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:22px;
  background:linear-gradient(115deg,rgba(13,18,41,.98),rgba(18,25,54,.94) 68%,color-mix(in srgb,var(--accent) 11%,transparent));
  color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.30),inset 0 0 0 1px rgba(255,255,255,.025);transition:.18s ease;
}
.week-card:nth-child(4n+2){--accent:var(--violet)}.week-card:nth-child(4n+3){--accent:var(--cyan)}.week-card:nth-child(4n+4){--accent:var(--coral)}
.week-card::after{content:"";position:absolute;left:18px;right:18px;bottom:10px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent 55%);opacity:.7}
.week-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 22px 48px rgba(0,0,0,.42),0 0 25px color-mix(in srgb,var(--accent) 22%,transparent)}
.week-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);border-radius:20px;background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:1.9rem;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 50%,transparent))}
.week-card > span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.week-num{display:block;color:var(--accent);font:900 .72rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.week-title{display:block;margin-top:5px;font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:900;line-height:1.08;letter-spacing:-.035em}
body.he .week-title{letter-spacing:0}
.week-note{display:block;max-width:32ch;margin-top:8px;color:#aeb9d8;font-size:.88rem;line-height:1.35}
.arrow{font-size:1.35rem;color:var(--accent);justify-self:end}
body.he .arrow{transform:scaleX(-1)}
.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding:15px 4px;border-top:1px dashed rgba(99,164,255,.25);color:#8f9bbb;font-size:.82rem}
.footer a{color:#dce7ff;text-decoration:none}

/* weekly page */
.week-shell{max-width:920px;margin:0 auto}
.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px}
.back-link{display:inline-flex;align-items:center;gap:8px;color:#dce6ff;text-decoration:none;font-weight:800;font-size:.9rem;padding:9px 12px;border:1px solid rgba(99,164,255,.28);border-radius:999px;background:rgba(13,18,41,.62)}
body.he .back-link .back-arrow{transform:scaleX(-1)}
.week-hero{padding:27px 29px 25px}
.week-hero h1{font-size:clamp(2rem,5vw,3.5rem)}
.week-hero .week-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--cyan);font:900 .75rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.11em;text-transform:uppercase}
body.he .week-hero .week-badge{letter-spacing:0;text-transform:none}
.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.material-card{
  --accent:var(--blue);position:relative;min-height:142px;padding:19px 19px 18px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:22px;background:linear-gradient(115deg,rgba(13,18,41,.98),rgba(18,25,54,.94) 66%,color-mix(in srgb,var(--accent) 10%,transparent));
  color:#fff;cursor:pointer;text-align:left;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.28);transition:.18s ease;font:inherit;
}
body.he .material-card{text-align:right}
.material-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 20px 48px rgba(0,0,0,.40),0 0 23px color-mix(in srgb,var(--accent) 20%,transparent)}
.material-card.slides{--accent:var(--blue)}.material-card.video{--accent:var(--coral)}.material-card.python{--accent:var(--cyan)}.material-card.book{--accent:var(--violet)}.material-card.homework{--accent:var(--amber);grid-column:1/-1}.material-card.mindmap{--accent:#68e0a5}.material-card.comic{--accent:#ff9ed2}.extra-head{margin-top:30px}
.material-ico{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 56%,transparent);border-radius:18px;background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:1.8rem;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 52%,transparent))}
.material-meta{color:var(--accent);font:900 .66rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
body.he .material-meta{letter-spacing:0;text-transform:none}
.material-title{display:block;margin-top:5px;font-size:1.5rem;font-weight:900;letter-spacing:-.035em}
body.he .material-title{letter-spacing:0}
.material-desc{display:block;margin-top:6px;color:#aeb9d8;font-size:.88rem;line-height:1.36}
.modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(1,3,12,.84);backdrop-filter:blur(10px)}
.modal.open{display:flex}
.modal-card{width:min(620px,100%);max-height:84vh;overflow:auto;padding:24px;border:1px solid rgba(99,164,255,.42);border-radius:26px;background:linear-gradient(145deg,#0d1229,#151d3d);box-shadow:0 30px 90px rgba(0,0,0,.65),0 0 35px rgba(99,164,255,.12)}
.modal-close{float:right;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
body.he .modal-close{float:left}
.modal-card h2{margin:0 42px 9px 0;font-size:1.65rem}
body.he .modal-card h2{margin:0 0 9px 42px}
.modal-card p{color:#aeb9d8;line-height:1.55}
.placeholder{margin-top:16px;padding:15px;border:1px dashed rgba(99,164,255,.34);border-radius:18px;background:rgba(99,164,255,.045);color:#d9e3ff;line-height:1.5}
.placeholder b{color:var(--cyan)}

@media(max-width:760px){
  body{padding:13px}.lang-switch{top:auto;bottom:14px;right:14px}.hero{padding:25px 22px 24px}.hero::after{display:none}.week-grid,.material-grid{grid-template-columns:1fr}.material-card.homework{grid-column:auto}.week-card{min-height:122px;grid-template-columns:60px minmax(0,1fr) 22px}.week-icon{width:54px;height:54px;border-radius:17px;font-size:1.55rem}.section-head{align-items:flex-start;flex-direction:column;gap:4px}.week-hero{padding:24px 21px 22px}.topline{padding-right:106px}body.he .topline{padding-right:0;padding-left:106px}}
@media(max-width:430px){
  body{padding:10px}.hero{border-radius:23px}.week-card,.material-card{border-radius:19px}.week-card{padding:16px 14px;gap:12px}.week-title{font-size:1.24rem}.week-note{font-size:.80rem}.material-card{min-height:124px;padding:16px 15px;grid-template-columns:51px minmax(0,1fr);gap:13px}.material-ico{width:49px;height:49px;border-radius:15px;font-size:1.55rem}.material-title{font-size:1.28rem}.material-desc{font-size:.81rem}.topline{padding-right:0;padding-bottom:48px}body.he .topline{padding-left:0}.lang-switch{min-width:88px;height:40px}}

/* interactive weekly recap and easter eggs */
.week-hero::after{display:none}
.week-tip-trigger{display:inline-block;position:relative;cursor:pointer;outline:none;transition:transform .16s ease,text-shadow .16s ease}
.week-tip-trigger:hover,.week-tip-trigger:focus-visible{transform:translateY(-1px);text-shadow:0 0 28px rgba(92,225,230,.34)}
.week-tip-trigger:focus-visible{border-radius:10px;box-shadow:0 0 0 3px rgba(92,225,230,.24)}
.matrix-easter{
  position:absolute;right:30px;top:25px;z-index:2;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;
  border:1px solid transparent;border-radius:14px;background:transparent;color:rgba(92,225,230,.23);
  font:900 1rem/1.55 ui-monospace,"Roboto Mono",monospace;text-align:left;cursor:pointer;transform:rotate(-4deg);
  transition:.18s ease;
}
.matrix-easter:hover,.matrix-easter:focus-visible{color:rgba(207,252,255,.90);border-color:rgba(92,225,230,.34);background:rgba(92,225,230,.06);box-shadow:0 0 26px rgba(92,225,230,.13);transform:rotate(0deg) scale(1.03);outline:none}
.matrix-spark{font-size:.85rem;opacity:0;transition:.18s ease}.matrix-easter:hover .matrix-spark,.matrix-easter:focus-visible .matrix-spark{opacity:1}
body.he .matrix-easter{right:auto;left:30px;text-align:left;direction:ltr}
.material-card.smartslides{--accent:#70f0c0}
.material-card.song{--accent:#ffb45b}

.learned-panel{margin:17px 0 22px;border:1px solid rgba(92,225,230,.30);border-radius:24px;background:linear-gradient(130deg,rgba(13,18,41,.96),rgba(12,30,45,.93) 66%,rgba(92,225,230,.07));box-shadow:0 15px 38px rgba(0,0,0,.25);overflow:hidden;transition:.2s ease}
.learned-panel:hover{border-color:rgba(92,225,230,.48)}
.learned-toggle{width:100%;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
body.he .learned-toggle{text-align:right}
.learned-toggle:hover,.learned-toggle:focus-visible{background:rgba(92,225,230,.055);outline:none}
.learned-toggle-copy{display:block;min-width:0}
.learned-kicker{display:block;margin-bottom:5px;color:var(--cyan);font:900 .68rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
body.he .learned-kicker{letter-spacing:0;text-transform:none}
.learned-title{display:block;font-size:1.55rem;font-weight:900;line-height:1.12;letter-spacing:-.035em}
body.he .learned-title{letter-spacing:0}
.learned-toggle-side{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.learned-emoji{font-size:1.55rem;filter:drop-shadow(0 0 12px rgba(92,225,230,.35))}
.learned-chevron{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(92,225,230,.28);border-radius:999px;color:var(--cyan);font-size:1.35rem;line-height:1;transition:transform .2s ease,background .2s ease}
.learned-panel.open .learned-chevron{transform:rotate(180deg);background:rgba(92,225,230,.09)}
.learned-content{padding:0 23px 22px;border-top:1px solid rgba(92,225,230,.16)}
.learned-content[hidden]{display:none}
.learned-joke{margin:17px 0 16px;color:#c4cee8;font-size:.98rem;line-height:1.55;font-weight:650}
.learned-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.learned-item{padding:11px 13px;border:1px solid rgba(99,164,255,.20);border-radius:14px;background:rgba(99,164,255,.045);color:#e5ebff;font-size:.89rem;line-height:1.4}

.course-tip{position:fixed;right:20px;bottom:20px;z-index:2500;width:min(390px,calc(100vw - 30px));padding:18px 19px 16px;border:1px solid rgba(92,225,230,.45);border-radius:20px;background:linear-gradient(145deg,rgba(13,18,41,.98),rgba(18,35,54,.98));box-shadow:0 24px 70px rgba(0,0,0,.56),0 0 30px rgba(92,225,230,.12);opacity:0;transform:translateY(18px) scale(.97);pointer-events:none;transition:.2s ease;backdrop-filter:blur(12px)}
.course-tip.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
body.he .course-tip{right:auto;left:20px}
.tip-close{position:absolute;right:11px;top:8px;border:0;background:transparent;color:#dfe9ff;font-size:1.55rem;cursor:pointer;line-height:1}
body.he .tip-close{right:auto;left:11px}
.tip-label{padding-right:28px;color:var(--cyan);font:900 .68rem ui-monospace,"Roboto Mono",monospace;letter-spacing:.11em;text-transform:uppercase}
body.he .tip-label{padding-right:0;padding-left:28px;letter-spacing:0;text-transform:none}
.tip-text{margin:9px 0 8px;color:#f6f8ff;font-size:.96rem;line-height:1.5;font-weight:700}
.course-tip small{color:#98a6c7}

@media(max-width:760px){
  .matrix-easter{position:relative;right:auto;top:auto;margin-top:13px;padding:8px 10px;font-size:.86rem;color:rgba(92,225,230,.42)}
  body.he .matrix-easter{left:auto}
  .learned-list{grid-template-columns:1fr}
  .learned-toggle{padding:18px}
  .learned-content{padding:0 18px 18px}
  .course-tip,body.he .course-tip{right:15px;left:15px;bottom:68px;width:auto}
}
