
:root{--blue:#a9d6f2;--blue2:#d9efff;--paper:#fff8e7;--ink:#111;--yellow:#ffd400;--red:#ff3b30;--card:#fff;--radius:20px;--shadow:0 10px 30px rgba(17,17,17,.12)}
*{box-sizing:border-box}
*{animation:none!important}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eaf5fd;color:var(--ink);line-height:1.55;overflow-x:hidden}
a{color:inherit}
to{opacity:1;transform:translateY(0)}}
to{opacity:1;transform:scale(1)}}
50%{transform:translateY(-6px)}}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,248,231,.94);backdrop-filter:blur(10px)}
.topbar-inner{max-width:1120px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:center}
.logo{font-weight:800;font-size:15px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.logo span{color:var(--ink)}
.disclaimer{font-size:12px;font-weight:600;color:#5a5a5a;max-width:560px;margin:10px auto 0;line-height:1.5}
.hero{background:linear-gradient(180deg,var(--blue) 0%,#cfeaff 70%,#eaf5fd 100%);border-bottom:4px solid var(--ink);padding:28px 16px 24px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff33 1px,transparent 1px),linear-gradient(90deg,#ffffff33 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.hero-inner{max-width:920px;margin:0 auto;position:relative}
.eyebrow{display:inline-block;background:var(--ink);color:#fff;font-weight:900;padding:7px 14px;border-radius:999px;font-size:13px;letter-spacing:.08em;}
h1{font-size:clamp(46px,9vw,88px);line-height:.95;margin:18px 0 10px;font-weight:900;letter-spacing:-.02em;text-transform:uppercase}
h1 .free{display:block;color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--ink)}
.subtitle{font-size:clamp(19px,3.5vw,27px);font-weight:800;margin:6px 0}
.lede{max-width:640px;margin:12px auto 0;font-size:17px;font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0 0}
.tag{background:var(--ink);color:#fff;font-weight:800;font-size:13px;padding:8px 13px;border-radius:999px}

.tag.yellow{background:var(--yellow);color:var(--ink)}
.tag.white{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:26px 16px 56px}
.section-title{font-size:clamp(27px,5vw,40px);font-weight:900;text-transform:uppercase;margin:8px 0 6px}
.section-sub{font-weight:700;margin:0 0 18px;font-size:17px}
.subjects{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.subject{display:block;border:3px solid var(--ink);border-radius:16px;background:var(--card);padding:15px 16px;box-shadow:var(--shadow);text-decoration:none;position:relative;overflow:hidden}
.subject::after{content:"→";position:absolute;right:20px;top:20px;font-size:28px;font-weight:900}
.subject:hover,.subject:focus-visible{outline:none}

.subject .icon{font-size:34px;display:block;margin-bottom:10px}
.subject h3{margin:0;font-size:20px;font-weight:900;text-transform:uppercase}
.subject p{margin:6px 0 10px;font-weight:700;font-size:14px;max-width:420px}
.count{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:5px 10px;font-weight:900;font-size:13px}
.open-btn{display:inline-block;margin-top:10px;background:var(--yellow);border:3px solid var(--ink);border-radius:999px;padding:9px 14px;font-weight:900;font-size:15px}

.back{display:inline-flex;align-items:center;gap:8px;font-weight:900;text-decoration:none;border:3px solid var(--ink);border-radius:999px;padding:11px 16px;background:#fff;min-height:48px}
.back:hover{background:var(--yellow);transform:translateX(-3px)}
.subject-hero{background:linear-gradient(135deg,var(--blue),#fff8e7);border:3px solid var(--ink);border-radius:var(--radius);padding:26px;margin:18px 0;box-shadow:var(--shadow)}
.subject-hero h1{font-size:clamp(34px,7vw,56px);margin:0}
.search{width:100%;padding:16px 18px;font-size:17px;border:3px solid var(--ink);border-radius:16px;background:#fff;outline:none}
.search:focus{box-shadow:0 0 0 4px var(--yellow)}
.hint{font-size:14px;font-weight:800;margin:14px 2px 6px;display:block}
.chapters{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}
.chapter{background:#fff;border:3px solid var(--ink);border-radius:16px;padding:18px;}

.chapter h4{margin:0 0 12px;font-size:17px;line-height:1.4}
.num{font-size:12px;font-weight:900;background:var(--blue2);border:2px solid var(--ink);border-radius:999px;padding:4px 9px;display:inline-block;margin-bottom:9px}
.watch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;width:100%;background:var(--ink);color:#fff;text-decoration:none;font-weight:900;font-size:16px;padding:14px 18px;border-radius:13px;border:3px solid var(--ink)}
.watch:hover{background:var(--yellow);color:var(--ink)}
.watch:focus-visible{outline:4px solid var(--yellow);outline-offset:2px}
.empty{padding:24px;text-align:center;font-weight:800;border:3px dashed var(--ink);border-radius:16px;background:#fff}
footer{border-top:3px solid var(--ink);background:var(--paper);padding:24px 16px;text-align:center;font-weight:700}
@media(min-width:640px){.subjects{grid-template-columns:repeat(3,1fr)}.chapters{grid-template-columns:repeat(2,1fr)}.watch{width:auto;min-width:190px}}
@media(min-width:960px){.chapters{grid-template-columns:repeat(3,1fr)}.hero{padding:60px 16px 48px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
