
:root{--rule:#cfe0f3;--margin:#e9a3a3;--chalk:#2f4a3a;--apple:#d64933;--pencil:#f2c14e}
.ico{width:34px;height:34px;display:inline-block;vertical-align:middle}
.pencil{width:220px;height:24px;display:block;margin:10px auto 0}
.chalkboard{background:var(--chalk);color:#f4f1e8;border:14px solid #8b5e3c;border-radius:14px;padding:34px 24px;text-align:center;box-shadow:inset 0 0 40px rgba(0,0,0,.35),0 8px 24px rgba(91,61,41,.2);margin:28px auto;max-width:900px}
.chalkboard h1{font-size:clamp(2rem,5vw,3.1rem);color:#fff;letter-spacing:.01em}
.chalkboard p{font-size:1.15rem;max-width:640px;margin:0 auto;color:#e6efe6}
.chalkboard .big{font-size:1.35rem;font-weight:800;color:var(--pencil)}
.sample-note{background:#fff3c4;border:2px dashed #e0b84a;border-radius:12px;padding:10px 16px;text-align:center;font-weight:700;margin:0 auto 20px;max-width:900px}
.notebook{background:var(--paper) repeating-linear-gradient(#0000 0 27px,var(--rule) 27px 28px);background-color:#fffefb;position:relative;padding-left:38px!important}
.notebook:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--margin)}
.grade-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}
.tile{display:block;text-decoration:none;background:#fffefb;border:2px solid var(--sand);border-radius:16px;padding:18px 10px;text-align:center;color:var(--brown);font-weight:800;box-shadow:0 4px 0 var(--sand);transition:transform .15s}
.tile:hover{transform:translateY(-3px)}
.tile .g{display:block;font-family:Georgia,serif;font-size:2.2rem;color:var(--apple)}
.tcard{position:relative}
.tcard .card-body{padding-top:18px}
.badge{display:inline-block;background:var(--chalk);color:#fff;font-weight:900;font-size:.8rem;padding:3px 10px;border-radius:999px;margin:0 6px 8px 0}
.badge.free{background:#6aa84f}
.ribbon{position:absolute;top:10px;right:-4px;background:var(--apple);color:#fff;font-weight:900;font-size:.72rem;letter-spacing:.1em;padding:3px 10px;border-radius:4px 0 0 4px}
.card-top{height:10px;background:repeating-linear-gradient(90deg,var(--pencil) 0 22px,var(--apple) 22px 44px,#6aa84f 44px 66px,#5b8bd0 66px 88px)}
.skills{font-size:.9rem;color:var(--brown2);margin:0 0 8px}
.facts{font-size:.92rem;margin:0 0 10px}
.btn-soon{background:#d9cbb8;color:#5b3d29;cursor:not-allowed;border:none;font-family:inherit;font-size:.95rem;width:100%}
.noprep{background:var(--pencil);color:var(--brown);text-align:center;font-weight:900;font-size:1.25rem;padding:12px;border-radius:12px;margin:18px 0;letter-spacing:.02em}
.meta{font-size:1.05rem;margin:0 0 10px}
.meta strong{font-size:1.15rem}
.detail-grid{display:grid;gap:16px}@media(min-width:800px){.detail-grid{grid-template-columns:repeat(3,1fr)}}
.tags span{display:inline-block;background:var(--sand);border-radius:999px;padding:2px 10px;margin:3px;font-size:.88rem;font-weight:700}
.voice{font-style:italic;color:var(--brown2);font-size:1.05rem}
.art{aspect-ratio:4/3;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:800;color:var(--brown2);text-align:center;padding:16px}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.thumbs img{border-radius:10px;border:1px solid var(--sand)}
.soon-list{columns:2 260px;font-size:.95rem;color:var(--brown2)}.soon-list li{margin:0 0 4px}
.card img.cimg{aspect-ratio:1/1;object-fit:cover;border-bottom:1px solid var(--sand)}
.btn-free{background:#6aa84f;color:#fff}
