:root{--paper:#fffdf7;--ink:#1d3f8f;--line:#cfe3f3;--red:#e5484d;--pencil:#f7b928;--text:#2b2b33;--mute:#5b6270;--soft:#f3f8fd;--r:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.65 Andika,"Trebuchet MS",Verdana,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--pencil);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.pad{padding-top:28px;padding-bottom:36px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
h1,h2,h3{line-height:1.25;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.5rem)}
h2{font-size:1.45rem;margin-top:1.6em}
h3{font-size:1.05rem}
.lead{font-size:1.1rem;color:var(--mute);max-width:68ch}

/* üst bar */
.top{background:#fff;border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:5}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:8px;padding-bottom:8px}
.brand img{display:block;height:44px;width:auto}
.main{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.main a{padding:6px 12px;border-radius:99px;text-decoration:none;font-weight:700;color:var(--text)}
.main a:hover{background:var(--soft);color:var(--ink)}
.search{display:flex}
.search input{font:inherit;padding:7px 12px;border:2px solid var(--line);border-right:0;border-radius:99px 0 0 99px;width:210px;background:#fff}
.search button{font:inherit;font-weight:700;padding:7px 16px;border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:0 99px 99px 0;cursor:pointer}

/* kahraman: çizgili defter + noktalı harf */
.hero{background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 40px,var(--paper);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;padding-top:44px;padding-bottom:44px}
.hero h1{font-size:clamp(1.9rem,4.6vw,3rem);background:var(--paper);display:inline;padding:0 6px 0 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-txt p{background:var(--paper);display:inline-block;max-width:52ch;margin:18px 0 0}
.trace{width:100%;height:auto;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--pencil)}
.trace .rules line{stroke:var(--line);stroke-width:2}
.trace .margin{stroke:var(--red);stroke-width:2}
.trace .letters text{font:700 190px Andika,"Trebuchet MS",sans-serif;fill:none;stroke:var(--ink);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round}
.trace .pencil{fill:var(--pencil);stroke:var(--text);stroke-width:2;stroke-linejoin:round}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chips a,.chips span{padding:6px 14px;border:2px solid var(--line);border-radius:99px;background:#fff;text-decoration:none;font-weight:700}
.chips a:hover,.chips a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chips small{opacity:.7}
.chips.filter span{border:0;background:none;padding-left:0;color:var(--mute);font-weight:400}
.chips.letters a{min-width:44px;text-align:center;font-size:1.1rem}
.hero .chips a{background:var(--ink);border-color:var(--ink);color:#fff;font-size:1.05rem}
.hero .chips a:hover{background:var(--pencil);border-color:var(--pencil);color:var(--text)}
.hero .chips{margin-top:22px}

.grades{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.gcard{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"n t" "n d";gap:0 14px;align-items:center;padding:18px;border:2px solid var(--ink);border-radius:var(--r);text-decoration:none;color:var(--text);background:#fff;transition:transform .15s}
.gcard:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--pencil)}
.gcard strong{grid-area:n;font-size:3.4rem;line-height:1;color:var(--ink);width:64px;text-align:center;border-right:2px dashed var(--line);padding-right:12px}
.gcard span{grid-area:t;font-weight:700;color:var(--ink)}
.gcard small{grid-area:d;color:var(--mute);line-height:1.4;font-size:.85rem}
.g2 strong{color:#1b7f5c}.g3 strong{color:#b45f06}.g4 strong{color:#a32f6d}

.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sec-h h2{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}
.card{background:#fff;border:2px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card:hover{border-color:var(--ink)}
.thumb{display:block;aspect-ratio:3/4;background:var(--soft);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.noimg{display:grid;place-items:center;height:100%;font-size:3.6rem;font-weight:700;color:var(--ink);background:repeating-linear-gradient(var(--soft) 0 31px,var(--line) 31px 32px)}
.cb{padding:12px 14px 16px}
.cb h3{margin:6px 0 4px}.cb h3 a{text-decoration:none}.cb h3 a:hover{text-decoration:underline}
.sum{margin:0;color:var(--mute);font-size:.9rem;line-height:1.45}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;font-size:.78rem}
.tags span{background:var(--soft);border-radius:6px;padding:1px 8px;color:var(--mute)}
.tags .t-okuma{background:#e3ecff;color:#17307a}.tags .t-yazma{background:#dcf3e8;color:#14613f}
.tags .t-odev{background:#ffe3e4;color:#9b1c22}.tags .t-etkinlik{background:#ffeccc;color:#7a4300}.tags .t-konu{background:#ece4fb;color:#4c2f94}
.empty{padding:28px;border:2px dashed var(--line);border-radius:var(--r);color:var(--mute);text-align:center}

.crumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 14px;padding:0;font-size:.88rem;color:var(--mute)}
.crumbs li+li::before{content:"/";margin:0 8px;color:var(--line)}
.crumbs a{color:var(--mute)}

.prose{max-width:72ch}.prose img{border-radius:6px}
.sheets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:22px}
.sheet{margin:0;border:2px solid var(--ink);border-radius:var(--r);background:#fff;overflow:hidden}
.sheet img{display:block;width:100%;height:auto;border-bottom:2px solid var(--ink)}
.sheet figcaption{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px}
.sheet figcaption span{flex:1;min-width:120px;color:var(--mute);font-size:.9rem}
.btn{display:inline-block;font:inherit;font-weight:700;padding:8px 16px;border-radius:99px;border:2px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--pencil);border-color:var(--pencil);color:var(--text)}
.btn.alt{background:#fff;color:var(--ink)}.btn.alt:hover{background:var(--pencil);color:var(--text)}

.pager{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0 0}
.pager a,.pager .cur{min-width:40px;text-align:center;padding:6px 10px;border:2px solid var(--line);border-radius:8px;text-decoration:none;font-weight:700}
.pager .cur{background:var(--ink);border-color:var(--ink);color:#fff}

.foot{background:var(--ink);color:#e7eefc;margin-top:30px;padding:34px 0 20px}
.foot a{color:#fff}.foot h2{color:var(--pencil);font-size:1rem;margin:0 0 8px}
.foot img{filter:brightness(0) invert(1)}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}
.foot ul{list-style:none;margin:0;padding:0;line-height:2}
.copy{border-top:1px solid #ffffff33;margin-top:22px;padding-top:14px;font-size:.85rem}

@media (max-width:820px){.hero-in{grid-template-columns:1fr}.fcols{grid-template-columns:1fr}.search{width:100%}.search input{flex:1;width:auto}.top{position:static}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.foot,.crumbs,.sheet figcaption{display:none}}
