@font-face{font-family:"Luckiest Guy";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/luckiest-guy-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/nunito-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-latin-800-normal.woff2) format("woff2")}

/* Single light look by design (paper on a desk reads only in daylight colors). Layout: papers on a desk, like the YouTube lessons. Graph-paper desk background, a yellow legal-pad hero with the teaching bull, crayon-tinted lesson cards with thick ink outlines and hard shadows that echo the bull logo; one wide column, subject sections with card grids, lesson view swaps in by #hash. */
:root{
  --desk:#eceeea; --grid:#d9e0d5; --card:#ffffff; --ink:#1c1f1b; --ink-soft:#4b574d;
  --pad:#fff7b3; --pad-rule:#a9c7e8; --margin:#e8837d; --marker-r:#d62020; --marker-b:#1f5fbf;
  --green:#45c24f; --tassel:#e32124;
  --line:#1c1f1b; --shade:#1c1f1b; --chip:#e7efe3;
  color-scheme:light;
  --display:"Luckiest Guy","Arial Black",Impact,sans-serif;
  --body:"Nunito",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
body{background-color:var(--desk);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font:400 16px/1.55 var(--body);margin:0}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:16px}
.treat{background:var(--green);color:#10260f;border-bottom:3px solid var(--line);font-weight:800}
.treat .wrap{display:flex;align-items:center;gap:12px;padding-block:8px}
.treat span{min-width:0}
.treat svg{flex:0 0 auto}
.treat b{color:#10260f;text-decoration:underline;text-decoration-thickness:2px}
header.top{padding-block:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header.top a.logo{display:block;background:#fff;border:3px solid var(--line);border-radius:16px;box-shadow:3px 3px 0 var(--shade);padding:6px}
header.top img{width:64px;height:auto;display:block}
.brand{font:400 30px/1 var(--display);letter-spacing:.5px}
.brand span{color:var(--tassel)}
.top nav{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border:3px solid var(--line);background:var(--card);box-shadow:3px 3px 0 var(--shade);border-radius:12px;padding:8px 14px;font:800 15px/1.2 var(--body);text-decoration:none;cursor:pointer;color:var(--ink)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shade)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shade)}
.btn:focus-visible,.card:focus-visible,input:focus-visible{outline:3px solid var(--tassel);outline-offset:3px}
.board{background-color:var(--pad);background-image:linear-gradient(90deg,transparent 54px,var(--margin) 54px,var(--margin) 56px,transparent 56px),repeating-linear-gradient(transparent 0 33px,var(--pad-rule) 33px 34px);background-position:0 0,0 18px;color:var(--ink);border:3px solid var(--line);border-radius:6px;box-shadow:6px 6px 0 var(--shade);margin-block:8px 26px;padding:30px clamp(16px,4vw,40px) 26px clamp(70px,8vw,90px);position:relative;transform:rotate(-.6deg)}
.board::before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;height:18px;background:#c9463d;border:3px solid var(--line);border-radius:6px 6px 0 0}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}
.hero>*{min-width:0}
.hero h1{font:400 clamp(40px,7vw,76px)/.95 var(--display);margin:0 0 14px;text-wrap:balance;letter-spacing:.5px}
.hero h1 em{font-style:normal;color:var(--marker-r)}
.hero p{font-size:19px;color:var(--ink-soft);max-width:34em;margin:0 0 18px}
.search{display:flex;gap:10px;flex-wrap:wrap}
.search input{flex:1 1 220px;min-width:0;border:3px solid var(--line);border-radius:14px;padding:12px 14px;font:600 17px var(--body);background:var(--card);color:var(--ink);box-shadow:3px 3px 0 var(--shade)}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.board .stat{background:transparent;color:var(--marker-b);border:2px dashed var(--marker-b)}
.stat{background:var(--chip);color:var(--ink);border:2px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:800;font-variant-numeric:tabular-nums}
.bullbox{display:grid;place-items:center}
.bullbox img{width:min(230px,80%);height:auto;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.18))}

.subjects{display:flex;gap:8px;flex-wrap:wrap;padding-block:6px 10px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--desk);z-index:5;border-bottom:3px solid var(--line)}
.subjects a{font:800 14px var(--body);text-decoration:none;border:2px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--card)}
.subjects a:hover{background:var(--green);color:#10260f}
section.group{padding-block:30px 8px;scroll-margin-top:110px}
.ghead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ghead h2{font:400 34px/1.1 var(--display);margin:0;letter-spacing:.5px;text-decoration:underline wavy var(--green);text-decoration-thickness:3px;text-underline-offset:8px}
.ghead p{margin:0;color:var(--ink-soft);font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:3px solid var(--line);border-radius:16px;box-shadow:4px 4px 0 var(--shade);overflow:hidden;min-width:0}
.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shade)}
.thumb{aspect-ratio:16/9;border-bottom:3px solid var(--line);display:grid;place-items:center;position:relative;max-width:100%}
.thumb svg{width:44%;height:auto}
.thumb .dur{position:absolute;right:8px;bottom:8px;background:#15110e;color:#fff;font:800 12px var(--body);border-radius:6px;padding:2px 6px;font-variant-numeric:tabular-nums}
.card .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{margin:0;font:800 17px/1.25 var(--body);text-wrap:balance}
.tag{align-self:flex-start;font:800 11px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--line);border-radius:999px;padding:4px 8px}
.tag.free{background:var(--chip)}
.tag.deep{background:#ffe066;color:#1c1f1b}

.empty{padding:30px 0;color:var(--ink-soft);font-weight:700}
/* lesson view */
.lesson{padding-block:20px 40px}
.lesson h1{font:400 clamp(30px,5vw,48px)/1 var(--display);margin:10px 0 6px;letter-spacing:.5px;text-wrap:balance}
.crumbs{font-weight:800;color:var(--ink-soft)}
.player{aspect-ratio:16/9;max-width:880px;background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px);background-size:18px 18px;border:3px solid var(--line);border-radius:18px;box-shadow:6px 6px 0 var(--shade);margin:18px 0;display:grid;place-items:center;text-align:center;padding:20px;position:relative;overflow:hidden}
.player .msg{background:var(--card);border:3px solid var(--line);border-radius:14px;padding:14px 18px;max-width:30em;font-weight:700;color:var(--ink)}
.player svg.big{width:72px;height:auto;display:block;margin:0 auto 10px}
.meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.more{margin-top:26px}
.more h2{font:400 26px var(--display);margin:0 0 12px;letter-spacing:.5px}
footer{background:var(--card);border:3px solid var(--line);border-radius:10px;box-shadow:4px 4px 0 var(--shade);padding-inline:20px;margin-top:40px;padding-block:24px 40px;color:var(--ink-soft)}
footer .row{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
footer code{background:var(--chip);border:2px solid var(--line);border-radius:8px;padding:2px 6px;color:var(--ink);font-weight:800}

@media (max-width:760px){.hero{grid-template-columns:1fr}.bullbox img{width:140px}.bullbox{order:-1;justify-items:start}.board{padding-left:66px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;transform:none!important}}

.lede{font-size:clamp(17px,2.2vw,19px);max-width:62ch;margin:4px 0 14px;color:var(--ink-soft);font-weight:600}
.notes{max-width:880px;background:var(--card);border:3px solid var(--line);border-radius:10px;box-shadow:4px 4px 0 var(--shade);padding:8px clamp(16px,4vw,32px) 22px;margin-top:26px}
.notes h2{font:400 26px/1.15 var(--display);letter-spacing:.5px;margin:22px 0 10px;text-decoration:underline wavy var(--green);text-decoration-thickness:2px;text-underline-offset:7px}
.notes h3{font-weight:800;font-size:17px;margin:18px 0 4px}
.notes p,.notes li{max-width:70ch}
.notes ul,.notes ol{padding-left:1.3em}
.notes li{margin:4px 0}
.formula{background:var(--pad,#fff7b3);border:2px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}
.formula .expr{font-weight:800;font-size:18px;overflow-wrap:anywhere}
.formula .name{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
.formula dl{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0;font-size:15px}
.formula dt{font-weight:800}.formula dd{margin:0}
.answer{font-weight:800;background:#d7f5d0;border:2px solid var(--line);border-radius:8px;padding:8px 12px;display:inline-block}
.fix{background:#ffe066;border:2px solid var(--line);border-radius:8px;padding:8px 12px;font-weight:700;margin:12px 0 0;max-width:880px}
.hubintro{max-width:70ch;font-size:18px}
.ghead a.all{font-weight:800;color:var(--ink);margin-left:auto}
.tile .thumb{position:relative}
.tile .num{position:absolute;left:12px;top:12px;width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid var(--line);box-shadow:3px 3px 0 var(--shade);display:grid;place-items:center;font:400 24px/1 var(--display);color:var(--ink)}
.tile .tg{margin:2px 0 6px;color:var(--ink-soft);font-weight:600;font-size:15px}
.tile .meta2{margin:0;font-size:14px;color:var(--ink-soft)}
@media (max-width:600px){.tile{flex-direction:row}.tile .thumb{aspect-ratio:auto;flex:0 0 92px;border-bottom:0;border-right:3px solid var(--line)}.tile .thumb svg{width:60%}
.tile .num{width:30px;height:30px;font-size:17px;left:6px;top:6px;border-width:2px;box-shadow:2px 2px 0 var(--shade)}.tile .body{gap:4px}}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player{padding:0}
.player .msg{margin:20px}
.lesson .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 16px}
.parts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.parts button[aria-pressed="true"]{background:#ffe066}
.prose{max-width:46em;background:var(--card);border:3px solid var(--line);border-radius:10px;box-shadow:4px 4px 0 var(--shade);padding:20px clamp(16px,4vw,32px);margin-block:10px 30px}
.prose h1{font:400 clamp(30px,5vw,44px)/1.05 var(--display);letter-spacing:.5px;margin:0 0 12px}
.prose h2,.prose h3{font-weight:800;margin:1.4em 0 .4em}
.prose p,.prose li{max-width:65ch}
.card[hidden]{display:none}
section.group[hidden]{display:none}
