/* Abeceda za djecu: alphabet-first layer, loaded after the shared game, learning and kids styles. */
@font-face{font-family:Andika;src:url(/assets/fonts/andika-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Andika;src:url(/assets/fonts/andika-700.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playwrite HR";src:url(/assets/fonts/playwrite-hr.ttf) format("truetype");font-weight:100 400;font-display:swap}
:root{--abc-purple:#2851a3;--abc-coral:#e5484d;--abc-mint:#2e9e6b;--abc-sun:#f0a92c;--abc-sky:#3d8bd4;--abc-ink:#1d2b53;--abc-soft:#4a5578;--abc-line:#d6ddec;--abc-letter:Andika,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.cursive{font-family:"Playwrite HR",cursive;font-weight:400}
/* Brand */
.abc-logo-mark{display:inline-flex;gap:3px;margin-right:10px;vertical-align:middle}.abc-logo-mark i{font-style:normal;display:grid;place-items:center;width:26px;height:30px;border-radius:8px;color:#fff;font:800 17px/1 var(--abc-letter);transform:rotate(-6deg)}.abc-logo-mark i:nth-child(1){background:var(--abc-coral)}.abc-logo-mark i:nth-child(2){background:var(--abc-purple);transform:rotate(5deg) translateY(-3px)}.abc-logo-mark i:nth-child(3){background:var(--abc-mint);transform:rotate(-3deg)}
.brand{display:inline-flex;align-items:center}
/* The inherited styles pick nav links by position; this menu is styled by role instead. */
.site-header nav a:nth-child(n){display:inline-flex;align-items:center;border:0;background:none;padding:9px 12px;border-radius:30px}
.site-header nav a[data-saved-nav]{border:2px solid #dce5f6;background:#f3f6fc}
/* Hero */
.abc-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding-top:34px;padding-bottom:34px}
.abc-hero h1{font-size:clamp(44px,7vw,78px);line-height:.98;margin:10px 0 18px;color:var(--abc-purple);letter-spacing:-.02em}.abc-hero h1 span{display:block;color:var(--abc-coral)}
.abc-hero p{font-size:18px;line-height:1.6;color:var(--abc-soft);max-width:34em}
.abc-blocks{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px;max-width:420px;justify-self:center;width:100%}
.abc-blocks>span{aspect-ratio:1;display:grid;place-items:center;border-radius:24px;background:var(--c);color:#fff;font:800 clamp(30px,5vw,52px)/1 var(--abc-letter);transform:rotate(var(--r));box-shadow:0 8px 0 rgba(34,61,56,.12)}
.abc-blocks>span:nth-child(odd){animation:abc-bob 4s ease-in-out infinite}.abc-blocks>span:nth-child(3n){animation-delay:-1.3s}
.abc-bubble{position:absolute;right:-6px;top:-18px;background:#fff;border:2px solid var(--abc-line);border-radius:18px 18px 18px 4px;padding:10px 14px;font-weight:700;color:var(--abc-purple);font-size:15px}
@keyframes abc-bob{50%{translate:0 -6px}}
/* Alphabet board on the homepage and the worksheet index */
.abc-board{padding-top:20px;padding-bottom:24px}
.abc-letter-links{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}
.abc-letter-links a{display:grid;justify-items:center;gap:2px;padding:14px 8px 12px;border:2px solid var(--abc-line);border-top:6px solid var(--c);border-radius:20px;background:#fff;color:var(--abc-ink);text-decoration:none;min-height:118px;transition:transform .15s}
.abc-letter-links a:hover,.abc-letter-links a:focus-visible{transform:translateY(-3px);border-color:var(--c)}
.abc-letter-links strong{font:800 38px/1.05 var(--abc-letter);color:var(--c)}.abc-letter-links span{font-size:26px;line-height:1.2}.abc-letter-links small{font-size:13px;color:var(--abc-soft)}
.abc-letter-links.compact a{min-height:84px}.abc-letter-links strong.two{font-size:29px;line-height:1.35}.abc-letter-show.two{font-size:82px}
.abc-games{padding-top:28px;padding-bottom:8px}.abc-games .section-copy a{color:#1f3f86}
.abc-steps{padding-top:34px;padding-bottom:20px}.abc-steps ol{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.abc-steps li{background:#fff;border:2px solid var(--abc-line);border-radius:24px;padding:22px}.abc-steps li:nth-child(2){background:#fff3d6;border-color:#eddb9d}.abc-steps li:nth-child(3){background:#eaf6ee;border-color:#bbdac7}
.abc-steps li>span{font-size:34px}.abc-steps h3{margin:8px 0 6px;font-size:19px}.abc-steps p{margin:0;line-height:1.6;color:var(--abc-soft);font-size:15px}.abc-steps a{color:#1f3f86}
/* Shared game pieces */
.abc-prompt{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin:4px 0 18px;text-align:center}
.abc-speaker{width:64px;height:64px;border-radius:50%;border:3px solid var(--abc-purple);background:#f1f4fb;font-size:28px;cursor:pointer;display:grid;place-items:center;padding:0}
.abc-speaker:hover{background:#e3eaf8}
.abc-hint{flex-basis:100%;margin:0;font-size:20px;font-weight:700;color:var(--abc-purple)}
.abc-help{border:2px dashed var(--abc-line);background:#fff;border-radius:999px;padding:8px 16px;font-size:15px;min-height:44px;cursor:pointer}
.abc-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:10px 0}
.abc-choice{min-width:78px;min-height:78px;padding:6px 14px;border:3px solid var(--abc-line);border-radius:22px;background:#fff;font:800 38px/1 var(--abc-letter);color:var(--abc-ink);cursor:pointer;transition:transform .12s,background .2s}
.abc-choice:hover:not(:disabled){transform:translateY(-3px);border-color:var(--abc-purple)}
.abc-choice.is-right{background:#dff5e8;border-color:#3aa57a;color:#1c6a48;animation:abc-pop .35s}
.abc-choice.is-wrong{opacity:.35;text-decoration:line-through;cursor:default}
@keyframes abc-pop{50%{scale:1.15}}
.abc-big{font:800 clamp(64px,14vw,120px)/1 var(--abc-letter);color:var(--abc-purple);margin:0}
button.abc-big{background:#fff;border:3px solid var(--abc-line);border-radius:28px;padding:12px 30px;cursor:pointer}
.abc-picture{font-size:72px;line-height:1;width:120px;height:120px;border-radius:28px;border:3px solid var(--abc-line);background:#fff;cursor:pointer}
.abc-picture-prompt{flex-direction:column}
.abc-word{font:700 34px/1.2 var(--abc-letter);margin:0;letter-spacing:.04em;min-height:1.2em}
.abc-blank{display:inline-block;min-width:1.1em;border-bottom:4px solid var(--abc-coral);color:var(--abc-coral);text-align:center}
.abc-note{color:var(--abc-soft);font-size:15px}
.abc-cyr-word{font-size:40px;color:var(--abc-purple)}
.abc-pictures .abc-picture-choice{font-size:54px;min-width:96px;min-height:96px}
/* Explorer */
.abc-stage{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 22px;background:#fff;border:2px solid var(--abc-line);border-radius:28px;padding:18px 22px;margin-bottom:16px}
.abc-stage .abc-big{grid-row:1/3}.abc-second{margin:0;color:var(--abc-soft);font-size:16px;align-self:end}
.abc-word-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.abc-word-card .abc-emoji{font-size:54px}.abc-word-card strong{font-size:30px}.abc-word-card small{color:var(--abc-soft);font-size:15px;flex-basis:100%}
.abc-stage .abc-speaker{grid-column:3;grid-row:1/3}
.abc-letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}
.abc-tile{min-height:58px;border:2px solid var(--abc-line);border-radius:16px;background:#fff;font:800 24px/1 var(--abc-letter);color:var(--abc-ink);cursor:pointer;position:relative}
.abc-tile.seen{background:#f1f4fb;border-color:#bacbee}.abc-tile.seen::after{content:'★';position:absolute;top:2px;right:5px;font-size:11px;color:var(--abc-sun)}
.abc-tile.current{background:var(--abc-purple);border-color:var(--abc-purple);color:#fff}
/* Order */
.abc-sequence{display:flex;justify-content:center;gap:10px;margin:8px 0 18px;flex-wrap:wrap}
.abc-slot{min-width:70px;min-height:76px;display:grid;place-items:center;border-radius:18px;background:#fff3d6;border:2px solid #eddb9d;font:800 38px/1 var(--abc-letter)}
.abc-slot.abc-blank{background:#fff;border:3px dashed var(--abc-coral);min-width:70px}
.abc-alphabet-help{margin-top:16px;text-align:center;color:var(--abc-soft)}.abc-alphabet-help summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font-size:15px}.abc-alphabet-help p{font:700 20px/1.6 var(--abc-letter);word-spacing:.3em;color:var(--abc-ink)}
/* Path */
.abc-path{position:relative;width:100%;max-width:560px;margin:0 auto;aspect-ratio:var(--cols)/var(--rows);background:#fffdf7;border:2px solid #eddb9d;border-radius:24px}
.abc-path svg{position:absolute;inset:0;width:100%;height:100%}.abc-path polyline{fill:none;stroke:var(--abc-coral);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.abc-dot{position:absolute;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;border:3px solid var(--abc-purple);background:#fff;font:800 22px/1 var(--abc-letter);color:var(--abc-purple);cursor:pointer;z-index:1}
.abc-dot.done{background:var(--abc-purple);color:#fff;cursor:default}.abc-dot.hint{animation:abc-glow 1s infinite}.abc-dot.shake{animation:abc-shake .4s}
@keyframes abc-glow{50%{box-shadow:0 0 0 8px rgba(255,138,92,.45)}}
@keyframes abc-shake{25%{rotate:-8deg}75%{rotate:8deg}}
/* Balloons */
.abc-balloon-head{font-size:18px;font-weight:700}.abc-target-letter{font:800 54px/1 var(--abc-letter);color:var(--abc-coral);min-width:70px}
.abc-sky{position:relative;height:400px;overflow:hidden;border-radius:26px;background:linear-gradient(#dff1ff,#fff8ec);border:2px solid #cfe5f5}
.abc-balloon{position:absolute;bottom:-130px;width:76px;height:92px;border:0;border-radius:50% 50% 46% 46%;color:#fff;font:800 32px/1 var(--abc-letter);cursor:pointer;animation:abc-rise var(--dur) linear forwards;box-shadow:inset -8px -10px 0 rgba(0,0,0,.08)}
.abc-balloon::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:34px;background:#9aa9b6}
.abc-balloon.c0{background:#e5484d}.abc-balloon.c1{background:#2851a3}.abc-balloon.c2{background:#2e9e6b}.abc-balloon.c3{background:#e2a20f}.abc-balloon.c4{background:#3d8bd4}.abc-balloon.c5{background:#d5578f}
.abc-balloon.shake{animation:abc-rise var(--dur) linear forwards,abc-shake .4s}
.abc-balloon.popped{animation-play-state:paused;opacity:0;scale:1.6;transition:opacity .3s,scale .3s}
@keyframes abc-rise{to{transform:translateY(-560px)}}
/* Memory */
.abc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:560px;margin:0 auto}
.abc-card{aspect-ratio:4/5;border:3px solid #bacbee;border-radius:18px;background:linear-gradient(135deg,#3b63b8,#2851a3);color:#fff;font:800 34px/1 var(--abc-letter);cursor:pointer;display:grid;place-items:center;align-content:center;gap:4px;padding:4px}
.abc-card.flipped{background:#fff;color:var(--abc-ink);border-color:var(--abc-line)}.abc-card.matched{background:#e5f5ea;border-color:#79b88c}
.abc-card-letter{font-size:clamp(26px,6vw,40px)}.abc-card-emoji{font-size:clamp(30px,7vw,46px)}.abc-card-word{font-size:13px;font-weight:600}
/* Tracing */
.abc-trace{display:flex;justify-content:center;margin:0 auto;max-width:420px}.abc-trace.wide{max-width:640px}
.abc-canvas{touch-action:none;background:#fff;border:3px solid var(--abc-line);border-radius:26px;cursor:crosshair;max-width:100%}
.abc-meter{height:12px;max-width:420px;margin:12px auto;background:#eef0f5;border-radius:999px;overflow:hidden}.abc-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--abc-coral),#3aa57a);transition:width .3s}
.abc-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 2px;margin-top:10px;scrollbar-width:thin}
.abc-strip-btn{flex:0 0 auto;min-width:48px;min-height:48px;border:2px solid var(--abc-line);border-radius:14px;background:#fff;font:700 20px/1 var(--abc-letter);cursor:pointer}
.abc-strip-btn.cursive{font-family:"Playwrite HR",cursive;font-size:17px}.abc-strip-btn.current{background:var(--abc-purple);color:#fff;border-color:var(--abc-purple)}
/* Letter pages */
.abc-letter-page,.abc-topic{padding-bottom:40px}
.abc-letter-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:10px}
.abc-letter-head h1{font-size:clamp(34px,5vw,52px);margin:8px 0 12px;color:var(--abc-purple)}
.abc-letter-show{min-width:220px;aspect-ratio:1;display:grid;place-items:center;border-radius:40px;background:var(--c);color:#fff;font:800 120px/1 var(--abc-letter);box-shadow:0 10px 0 rgba(34,61,56,.12);transform:rotate(-3deg)}
.abc-say{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 18px;border:2px solid var(--abc-purple);border-radius:999px;background:#f1f4fb;color:var(--abc-purple);font-weight:700;font-size:16px;cursor:pointer}
.abc-forms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0}
.abc-forms>div{background:#fff;border:2px solid var(--abc-line);border-radius:20px;padding:14px 16px}.abc-forms dt{font-size:13px;font-weight:700;color:var(--abc-soft);text-transform:uppercase;letter-spacing:.06em}.abc-forms dd{margin:6px 0 0;font:800 40px/1.2 var(--abc-letter);color:var(--abc-ink)}.abc-forms dd.cursive{font-family:"Playwrite HR",cursive;font-weight:400;font-size:34px}
.abc-words{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.abc-words li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;background:#fff;border:2px solid var(--abc-line);border-radius:20px;padding:14px}
.abc-words .abc-emoji{grid-row:1/4;font-size:46px}.abc-words strong{font-size:22px}.abc-words small{color:var(--abc-soft);font-size:15px}.abc-words .abc-say{min-height:40px;padding:6px 12px;font-size:14px;justify-self:start}
.abc-practice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.abc-practice a{display:grid;gap:4px;padding:16px;border-radius:20px;border:2px solid var(--abc-line);background:#fff;color:var(--abc-ink);text-decoration:none}.abc-practice a:hover{border-color:var(--abc-purple);background:#ffffff}
.abc-practice span{font-size:30px}.abc-practice strong{font-size:17px}.abc-practice small{font-size:14px;color:var(--abc-soft)}
.sheet-tools{margin-top:34px}.sheet-tools p{color:var(--abc-soft);font-size:16px}
.worksheet{background:#fff;border:2px dashed #bacbee;border-radius:20px;padding:22px;margin:16px 0 26px}
.worksheet h2{margin:0 0 6px;font-size:22px}.sheet-name{color:#7d8a96;font-size:15px;margin:0 0 12px}
.sheet-row{display:flex;justify-content:space-between;gap:6px;border-bottom:2px solid #b9cde4;background:linear-gradient(transparent 49%,#e3ecf6 49%,#e3ecf6 51%,transparent 51%);padding:4px 6px;margin-bottom:10px;overflow:hidden}
.sheet-row span{font:700 56px/1.15 var(--abc-letter);color:#ccd6e2}.sheet-row span:first-child{color:#4c5d6e}
.sheet-row.cursive span{font-family:"Playwrite HR",cursive;font-weight:300;font-size:46px;line-height:1.4}
.sheet-words{display:flex;flex-wrap:wrap;gap:18px;font-size:22px;margin-top:6px}.sheet-words i{font-style:normal;font-weight:700;color:#ccd6e2;font-size:28px}
.sheet-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.sheet-grid span{font:700 30px/1.4 var(--abc-letter);text-align:center;border:1px solid #e3ecf6;border-radius:10px}.sheet-grid.cursive span{font-family:"Playwrite HR",cursive;font-weight:300;font-size:26px;line-height:1.8}
.abc-prev-next{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:28px 0 14px}.abc-prev-next a{min-height:48px;display:inline-flex;align-items:center;padding:0 18px;border:2px solid var(--abc-line);border-radius:999px;background:#fff;color:var(--abc-purple);font-weight:700;text-decoration:none}
.abc-mini-strip{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.abc-mini-strip a{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--abc-line);color:var(--abc-ink);font-weight:700;text-decoration:none}.abc-mini-strip a[aria-current]{background:var(--abc-purple);color:#fff;border-color:var(--abc-purple)}
/* Topic pages */
.abc-topic h1{font-size:clamp(32px,5vw,50px);color:var(--abc-purple);margin:8px 0 12px}.abc-topic h2{margin-top:34px}.abc-topic p,.abc-topic li{font-size:17px;line-height:1.7}.abc-topic p a,.abc-topic li a{color:#1f3f86}
.abc-order{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.abc-order a{min-width:52px;min-height:52px;display:grid;place-items:center;border-radius:14px;background:#fff;border:2px solid var(--abc-line);font:800 24px/1 var(--abc-letter);color:var(--abc-purple);text-decoration:none}.abc-order a:hover{background:#f1f4fb}
.abc-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:2px solid var(--abc-line);border-radius:20px;overflow:hidden;margin:18px 0;font-size:16px}
.abc-table caption{text-align:left;font-weight:700;padding:0 0 8px;color:var(--abc-soft)}.abc-table th,.abc-table td{padding:10px 14px;border-bottom:1px solid #e9edf6;text-align:left}.abc-table thead th{background:#f5f7fc;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--abc-soft)}.abc-table tbody th{font:800 22px/1.2 var(--abc-letter)}.abc-table a{color:var(--abc-purple);display:inline-flex;align-items:center;min-height:32px;min-width:32px}
.abc-cursive-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:22px 0}.abc-cursive-board a{display:grid;justify-items:center;gap:4px;padding:16px 8px;background:#fff;border:2px solid var(--abc-line);border-radius:20px;text-decoration:none;color:var(--abc-ink)}.abc-cursive-board .cursive{font-size:34px;line-height:1.5}.abc-cursive-board small{font-size:14px;color:var(--abc-soft)}
.abc-tips{padding-left:22px}.abc-credit{font-size:14px!important;color:var(--abc-soft)}
@media(max-width:1050px){.abc-practice,.abc-forms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .site-header nav a:nth-child(n){padding:8px 8px}.site-header nav a[data-all-nav]{display:none}
 .abc-hero{grid-template-columns:1fr;gap:6px;padding-top:12px}.abc-blocks{grid-template-columns:repeat(5,1fr);max-width:none;gap:8px;padding:6px 2px;order:-1}.abc-blocks>span{border-radius:14px;font-size:26px;box-shadow:0 4px 0 rgba(34,61,56,.12)}.abc-blocks>span:nth-child(n+6){display:none}.abc-bubble{display:none}.abc-hero h1{margin:6px 0 12px}.abc-hero p{font-size:16px}
 .abc-steps ol{grid-template-columns:1fr}.abc-letter-links{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.abc-letter-links a{min-height:100px;padding:10px 4px}.abc-letter-links strong{font-size:30px}
 .abc-stage{grid-template-columns:auto 1fr;padding:14px}.abc-stage .abc-speaker{grid-column:2;grid-row:auto;justify-self:start}.abc-stage .abc-big{grid-row:1/2;font-size:72px}.abc-word-card .abc-emoji{font-size:42px}.abc-word-card strong{font-size:24px}
 .abc-choice{min-width:64px;min-height:64px;font-size:30px;border-radius:18px}.abc-word{font-size:28px}.abc-picture{width:100px;height:100px;font-size:60px}
 .abc-dot{width:44px;height:44px;font-size:18px}.abc-sky{height:360px}.abc-balloon{width:64px;height:78px;font-size:26px}
 .abc-letter-head{grid-template-columns:1fr}.abc-letter-show{min-width:0;width:160px;font-size:84px;border-radius:30px;order:-1}.abc-forms{grid-template-columns:repeat(2,minmax(0,1fr))}.abc-forms dd{font-size:30px}.abc-practice{grid-template-columns:1fr 1fr}
 .sheet-row span{font-size:38px}.sheet-row.cursive span{font-size:32px}.sheet-grid{grid-template-columns:repeat(4,1fr)}.abc-table th,.abc-table td{padding:8px}
}
@media(max-width:370px){.site-header nav a:nth-child(n){padding:6px 5px;font-size:13px}.abc-logo-mark i{width:22px;height:26px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.abc-blocks>span,.abc-dot.hint{animation:none}.abc-balloon{animation-duration:calc(var(--dur) * 1.6)}}
/* Printing: only the worksheet goes to paper. */
@media print{
 body *{visibility:hidden}.worksheet,.worksheet *{visibility:visible}.worksheet{position:absolute;left:0;top:0;width:100%;border:0;margin:0;padding:0}
 .sheet-row{break-inside:avoid;margin-bottom:14px}.sheet-row span{color:#c4c4c4}.sheet-row span:first-child{color:#333}.sheet-words i{color:#bdbdbd}.sheet-grid span{border-color:#ddd}
}
/* Sveska: the notebook look of Abeceda za djecu. Squared paper behind the header and footer, ink outlines with a hard offset shadow, a red margin line, pencil yellow highlights, Andika for reading and Playwrite HR for handwritten labels. Set 2026-10-17 so nothing here looks like the source collection. */
:root{--sv-ink:#1d2b53;--sv-blue:#2851a3;--sv-red:#e5484d;--sv-red-text:#c23a3f;--sv-yellow:#ffc93c;--sv-green:#2e9e6b;--sv-grid:#dfe7f4;--sv-paper:#fffdf7;--sv-soft:#4a5578;--sv-pale:#b9c6e0;--sv-hand:"Playwrite HR",cursive;--ink:#1d2b53;--muted:#4a5578;--green:#2851a3;--paper:#fffdf7;--line:#cfd8ea;--orange:#e5484d;--yellow:#ffc93c;--radius:12px;--abc-line:#b9c6e0;color:var(--sv-ink)}
html:root{background:linear-gradient(var(--sv-grid) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--sv-grid) 1px,transparent 1px) 0 0/22px 22px var(--sv-paper)}
body{background:transparent;color:var(--sv-ink)}
main#main{background:var(--sv-paper);border-top:2px solid var(--sv-red);box-shadow:0 -5px 0 var(--sv-paper),0 -7px 0 #f4b9bb;padding-bottom:10px}
h1,h2,h3,h1 *,h2 *,.card-body h3{letter-spacing:normal!important}
h1,h2,h3{font-weight:700;color:var(--sv-ink)}
.eyebrow{font-family:var(--sv-hand);font-weight:400;font-size:17px;line-height:1.6;letter-spacing:0;text-transform:lowercase;color:var(--sv-red-text)}.eyebrow::first-letter{text-transform:uppercase}
/* Header and brand */
.site-header{border-bottom:0;min-height:92px}
.abc-logo-mark i{border:2px solid var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);width:28px;height:32px}
.brand{color:var(--sv-ink)}.brand .logo-light,.brand span{color:inherit}
.site-header nav a:nth-child(n){font-weight:700;border-radius:999px}
.site-header nav a:nth-child(n):hover{background:#fff;color:var(--sv-blue);text-decoration:underline;text-decoration-color:var(--sv-red);text-decoration-thickness:3px;text-underline-offset:6px}
.site-header nav a[data-saved-nav]{background:var(--sv-yellow);border:2px solid var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink)}
/* Buttons */
.button{border:2px solid var(--sv-ink);border-radius:12px;font-weight:700;box-shadow:3px 3px 0 var(--sv-ink);transition:transform .12s,box-shadow .12s}
.button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--sv-ink)}.button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--sv-ink)}
.primary{background:var(--sv-blue);color:#fff}.secondary{background:#fff;color:var(--sv-ink)}
.text-link,.prose p a,.section-copy a,.abc-topic p a,.abc-topic li a,.abc-games .section-copy a,.abc-steps a{color:var(--sv-blue);text-decoration:underline;text-decoration-color:var(--sv-red);text-underline-offset:4px}
/* Catalog tools */
.catalog-tools{background:#fff;border:2px dashed var(--sv-pale);border-radius:14px}
.filters button{background:#fff;border:2px solid var(--sv-ink);border-radius:999px;box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink)}
.filters button:hover{background:#f3f6fc}
.filters button.active{background:var(--sv-yellow);border-color:var(--sv-ink);color:var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink)}
.search,.age-select select{border:2px solid var(--sv-ink);border-radius:12px;background:#fff}
/* Game cards: an index card with a red margin line */
.game-card{background:#fff;border:2px solid var(--sv-ink);border-bottom-width:2px;border-radius:12px;box-shadow:4px 4px 0 var(--sv-ink);overflow:hidden}
.game-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--sv-ink)}
.game-card img{border-bottom:2px solid var(--sv-ink);aspect-ratio:5/3}
.card-body{margin-left:14px;border-left:2px solid var(--sv-red);padding:14px 16px 16px}
.card-meta>span:first-child{color:var(--sv-red-text);text-transform:none;letter-spacing:0;font-weight:700}
.card-meta>span:last-child{color:var(--sv-soft)}
.card-body p{color:var(--sv-soft)}
.play-link{background:var(--sv-blue);color:#fff;border:2px solid var(--sv-ink);border-radius:10px;box-shadow:2px 2px 0 var(--sv-ink);font-weight:700}
.favorite{background:#fff;border:2px solid var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink)}
.favorite[aria-pressed=true]{background:var(--sv-yellow);color:var(--sv-red-text)}
/* Notebook cards everywhere else */
.skill-cards>a,.path-cards>a,.parent-guides a,.age-doors>a,.picture-steps>section,.abc-steps li,.learning-prompt,.skill-guidance,.next-activity,.quick-game,.riddle,.letter-card,.abc-forms>div,.abc-words li,.abc-practice a,.abc-cursive-board a,.abc-stage{background:#fff;border:2px solid var(--sv-ink);border-radius:12px;box-shadow:4px 4px 0 var(--sv-ink)}
.path-cards>a:nth-child(2),.picture-steps>section:nth-child(2),.abc-steps li:nth-child(2),.learning-prompt{background:#fff6d1}
.path-cards>a:nth-child(3),.picture-steps>section:nth-child(3),.abc-steps li:nth-child(3),.skill-guidance{background:#e9f6ee}
.next-activity{background:#eef3fc}
.skill-cards>a:hover,.path-cards>a:hover,.parent-guides a:hover,.age-doors>a:hover,.abc-practice a:hover,.abc-cursive-board a:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--sv-ink);background:#fff}
.skill-cards>a>span{background:#fff6d1;border:2px solid var(--sv-ink);border-radius:10px}
.learning-prompt>span{display:block;font-family:var(--sv-hand);font-weight:400;font-size:15px;letter-spacing:0;text-transform:lowercase;color:var(--sv-red-text)}.learning-prompt>span::first-letter{text-transform:uppercase}
.step-label{background:var(--sv-yellow);border:2px solid var(--sv-ink);color:var(--sv-ink)}
.game-steps>div>span,.path-number{color:var(--sv-red-text)}
.door-arrow{color:var(--sv-red-text)}
.topic-links a,.page-link,.abc-prev-next a{background:#fff;border:2px solid var(--sv-ink);border-radius:999px;box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink)}
.page-link:hover,.topic-links a:hover{background:var(--sv-yellow);color:var(--sv-ink)}
.parent-note{border-top:2px dashed var(--sv-pale)}.parent-note>span{color:var(--sv-yellow);-webkit-text-stroke:1.5px var(--sv-ink)}
.site-pathways{border-top:2px dashed var(--sv-pale);border-radius:0}
.guide-contents{border-color:var(--sv-pale)}
footer{border-top:0}footer a:hover{color:var(--sv-blue);text-decoration:underline}
/* Game page: the board is a spiral notebook */
.back-to-games{background:#fff;border:2px solid var(--sv-ink);color:var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);border-radius:999px}
.game-heading h1{color:var(--sv-ink)}.game-heading p{color:var(--sv-soft)}
.play-area{position:relative;background:#fff;border:2px solid var(--sv-ink);border-radius:6px 6px 16px 16px;box-shadow:5px 5px 0 var(--sv-ink);margin-top:40px;padding-top:30px}
.play-area::before{content:"";position:absolute;left:22px;right:22px;top:-14px;height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='28'%3E%3Crect x='11' y='2' width='12' height='22' rx='6' fill='%23fffdf7' stroke='%231d2b53' stroke-width='2.5'/%3E%3Ccircle cx='17' cy='19' r='2.4' fill='%231d2b53'/%3E%3C/svg%3E") repeat-x 0 0/34px 28px;pointer-events:none}
.play-area:fullscreen{border:0;box-shadow:none;background:#fff}.play-area:fullscreen::before{display:none}
.game-toolbar{border-bottom:2px dashed var(--sv-pale)}
.game-toolbar select,.game-toolbar button{background:#fff;border:2px solid var(--sv-ink);border-radius:999px;box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink);font-weight:700}
.game-toolbar select{background-color:#e9f6ee}
.game-toolbar button:hover{background:#fff6d1}
.game-stats{color:var(--sv-soft);font-weight:700}
.coach{display:flex;align-items:center;gap:14px;max-width:780px;margin:16px auto 22px}
.coach-friend{flex:0 0 74px;width:74px;height:84px}.coach-friend svg{display:block;width:100%;height:100%}
.coach .instruction{position:relative;flex:1;margin:0;text-align:left;background:#fff;color:var(--sv-ink);border:2px solid var(--sv-ink);border-radius:18px 18px 18px 6px;box-shadow:3px 3px 0 var(--sv-ink);padding:13px 18px;font-weight:700}
.coach .instruction::before{content:"";position:absolute;left:-11px;bottom:12px;width:16px;height:16px;background:#fff;border-left:2px solid var(--sv-ink);border-bottom:2px solid var(--sv-ink);transform:rotate(45deg) skew(8deg,8deg)}
.feedback{color:var(--sv-soft);font-weight:700}.feedback.error{color:var(--sv-red-text)}
.completion{background:#fff;border:2px solid var(--sv-ink);border-radius:14px;box-shadow:4px 4px 0 var(--sv-ink);position:relative}
.completion>span{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--sv-yellow);border:2px solid var(--sv-ink);color:var(--sv-ink);font-size:28px;transform:rotate(-8deg)}
.completion h2{font-family:var(--sv-hand);font-weight:400;color:var(--sv-red-text);transform:rotate(-2deg);margin:12px 0 6px}
.game-reassurance{color:var(--sv-soft)}
.help{border-bottom:2px dashed var(--sv-pale)}.help summary{color:var(--sv-ink);display:flex;align-items:center;list-style:none}.help summary::-webkit-details-marker{display:none}
.breadcrumbs a{text-decoration:underline;text-decoration-color:var(--sv-pale);text-underline-offset:3px}
/* Game pieces */
.tile{background:#fff;border:2px solid var(--sv-pale);border-radius:10px;color:var(--sv-ink)}
.tile:hover:not(:disabled){border-color:var(--sv-ink)}
.tile.hidden-face{background:var(--sv-yellow);border-color:var(--sv-ink);color:var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink)}
.tile.selected,.tile.lit{background:#fff1bd;border-color:var(--sv-ink);box-shadow:0 0 0 3px #ffc93c66}
.tile.wrong{border-color:var(--sv-red);background:#fdeaea}
.board-actions button,.small-button,.keyboard button,.dpad button,.choice-row button,.choice-button,.letter-tile,.studio-color,.sorting-home{background:#fff;border:2px solid var(--sv-ink);border-radius:10px;box-shadow:2px 2px 0 var(--sv-ink);color:var(--sv-ink)}
.board-actions button.primary,.board-actions button.active,.wordsearch-cell.found,.nonogram-cell.filled{background:var(--sv-blue);color:#fff;border-color:var(--sv-ink)}
.choice-button:hover,.choice-row button.selected{background:#fff6d1;border-color:var(--sv-ink)}
.wrong-choice{background:#fdeaea!important;border-color:var(--sv-red)!important}
.sorting-home{border-bottom-width:2px}.sorting-home.correct{background:#e5f5ea;border-color:var(--sv-green)}
.learning-explanation{background:#eef3fc;border:2px solid var(--sv-pale)}.reading-passage{background:#fff6d1;border-left:5px solid var(--sv-red)}
.maze{border-color:var(--sv-ink)}.maze-cell{border-color:var(--sv-ink)}.dot{background:var(--sv-ink)}
.piano button{background:#fff;border-color:var(--sv-ink);border-bottom-color:var(--sv-ink)}.piano button:active,.piano button.lit{background:var(--sv-yellow)}
.hearts{color:var(--sv-red)}
/* Alphabet layer in notebook colours */
.abc-blocks>span{border:2px solid var(--sv-ink);border-radius:16px;box-shadow:4px 4px 0 var(--sv-ink)}
.abc-bubble{border:2px solid var(--sv-ink);box-shadow:3px 3px 0 var(--sv-ink);color:var(--sv-ink);font-family:var(--sv-hand);font-weight:400}
.abc-letter-links a{border:2px solid var(--sv-ink);border-radius:12px;box-shadow:4px 4px 0 var(--c);background:#fff}
.abc-letter-links a:hover,.abc-letter-links a:focus-visible{border-color:var(--sv-ink);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--c)}
.abc-letter-show{border:3px solid var(--sv-ink);border-radius:22px;box-shadow:6px 6px 0 var(--sv-ink)}
.abc-choice,.abc-tile,.abc-strip-btn,.abc-mini-strip a,.abc-order a,.abc-dot,.abc-picture,button.abc-big{border:2px solid var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);border-radius:12px}
.abc-dot{border-radius:50%}
.abc-tile.current,.abc-strip-btn.current,.abc-mini-strip a[aria-current]{background:var(--sv-blue);border-color:var(--sv-ink);color:#fff}
.abc-tile.seen{background:#fff6d1;border-color:var(--sv-ink)}
.abc-speaker,.abc-say{border:2px solid var(--sv-ink);background:var(--sv-yellow);color:var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink)}
.abc-speaker:hover,.abc-say:hover{background:#ffe08a}
.abc-help{border:2px dashed var(--sv-ink)}
.abc-hint{color:var(--sv-blue)}
.abc-card{background:var(--sv-yellow);border:2px solid var(--sv-ink);color:var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);border-radius:12px}
.abc-card.flipped{background:#fff;border-color:var(--sv-ink)}.abc-card.matched{background:#e5f5ea;border-color:var(--sv-green)}
.abc-slot{background:#fff6d1;border:2px solid var(--sv-ink)}
.abc-path{background:#fff;border:2px solid var(--sv-ink);box-shadow:4px 4px 0 var(--sv-ink)}
.abc-sky{border:2px solid var(--sv-ink);background:#e6f0fb linear-gradient(var(--sv-grid) 1px,transparent 1px) 0 0/22px 22px}
.abc-balloon{border:2px solid var(--sv-ink)}
.abc-canvas{border:2px solid var(--sv-ink);box-shadow:4px 4px 0 var(--sv-ink);border-radius:14px}
.abc-meter{border:2px solid var(--sv-ink);background:#fff}.abc-meter span{background:var(--sv-green)}
.worksheet{border:2px dashed var(--sv-ink)}
.abc-table{border:2px solid var(--sv-ink);border-radius:12px;box-shadow:4px 4px 0 var(--sv-ink)}.abc-table thead th{background:#fff6d1}
@keyframes abc-glow{50%{box-shadow:0 0 0 8px rgba(229,72,77,.4)}}
@media(max-width:760px){
 .eyebrow{font-size:15px!important}
 .card-body{margin-left:8px;padding:12px 10px 13px}
 .game-card{box-shadow:3px 3px 0 var(--sv-ink)}
 .play-area{margin-top:34px;padding-top:26px;box-shadow:3px 3px 0 var(--sv-ink)}
 .play-area::before{left:12px;right:12px;background-size:28px 24px;height:24px;top:-12px}
 .coach{gap:8px;margin:12px auto 16px}.coach-friend{flex-basis:50px;width:50px;height:58px}.coach .instruction{padding:10px 12px}
 .abc-blocks>span{border-radius:12px;box-shadow:3px 3px 0 var(--sv-ink)}
}
@media(max-width:420px){.worksheet{padding:14px}.sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-grid span{font-size:24px}}
@media(max-width:360px){.abc-table{font-size:14px}.abc-table th,.abc-table td{padding:7px 4px}.abc-table tbody th{font-size:19px}}
@media(max-width:370px){.coach-friend{display:none}.coach .instruction::before{display:none}.coach .instruction{border-radius:14px}}
/* Release v5: first reading, colouring, rhymes, German letters and English numbers, in the notebook look. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.abc-syllable-big{font-size:clamp(64px,13vw,110px);letter-spacing:.04em;color:var(--sv-blue)}
.abc-syllable-choice{min-width:96px;font-size:34px}
.abc-picture-choice{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.abc-choice-word{font:700 15px/1.2 var(--abc-letter);color:var(--sv-ink)}
.abc-word-choice{font:700 22px/1.2 var(--abc-letter);min-height:56px;padding:8px 16px}
.abc-number-choice{font:700 30px/1 var(--abc-letter);min-width:84px}
.abc-en-number{font-size:40px;color:var(--sv-blue)}
.abc-word-tiles{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.abc-word-tile{min-width:46px;min-height:52px;display:grid;place-items:center;border:2px solid var(--sv-ink);border-radius:10px;background:#fff;font:700 28px/1 var(--abc-letter);color:var(--sv-ink)}
.abc-word-tile.is-right{background:var(--sv-yellow)}
.abc-sentence{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0;min-height:56px}
.abc-sentence-slot{min-width:72px;min-height:50px;padding:6px 10px;border-bottom:3px dashed var(--sv-pale);font:700 24px/1.4 var(--abc-letter);color:var(--sv-ink);text-align:center}
.abc-sentence-slot.filled{border-bottom-color:var(--sv-green)}
.abc-choice.shake{animation:abc-shake .4s}
.abc-crayons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:4px 0 14px}
.abc-crayon{width:46px;height:46px;border-radius:50%;background:var(--crayon);border:3px solid var(--sv-ink);box-shadow:2px 2px 0 var(--sv-ink);cursor:pointer;padding:0}
.abc-crayon[aria-pressed=true]{outline:4px solid var(--sv-yellow);outline-offset:3px;transform:scale(1.08)}
.abc-colour-wrap{max-width:440px;margin:0 auto}
.abc-colour-sheet{display:block;width:100%;height:auto;background:#fff;border:2px solid var(--sv-ink);border-radius:14px;box-shadow:4px 4px 0 var(--sv-ink)}
.abc-region{cursor:pointer}.abc-region:focus-visible{outline:none;stroke:var(--sv-red);stroke-width:6}
.abc-poem{max-width:640px;margin:8px auto;background:#fff;border:2px solid var(--sv-ink);border-radius:14px;box-shadow:4px 4px 0 var(--sv-ink);padding:14px 18px}
.abc-poem-line{margin:4px 0;font:400 28px/1.7 var(--abc-letter);color:var(--sv-ink)}
.abc-poem-word{white-space:nowrap;display:inline-block}
.abc-poem-letter{border:0;background:none;padding:3px 0;margin:0;letter-spacing:0;font:inherit;color:inherit;min-width:0;min-height:44px;border-radius:8px;cursor:pointer;vertical-align:baseline}
.abc-poem-letter:hover{background:#fff6d1}
.abc-poem-letter:disabled{cursor:default;color:var(--sv-ink);opacity:1}
.abc-poem-letter.is-right{background:var(--sv-yellow);box-shadow:inset 0 -4px 0 var(--sv-ink)}
.abc-poem-letter.is-wrong{background:#fdeaea;animation:abc-shake .4s}
.abc-rhymes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:24px 0}
.abc-rhyme{background:#fff;border:2px solid var(--sv-ink);border-radius:12px;box-shadow:4px 4px 0 var(--sv-ink);padding:16px 18px;margin:0 0 18px}
.abc-rhymes .abc-rhyme{margin:0}
.abc-rhyme h3{margin:0 0 8px;font-size:20px}.abc-rhyme h3 a{color:var(--sv-blue);text-decoration:none}
.abc-rhyme-lines{font-size:18px;line-height:1.7;margin:0 0 12px}
.abc-rhyme-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.color-sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:22px 0}
.color-sheet-card{display:grid;gap:10px;align-content:start}
.color-sheet-card .worksheet{margin:0}
.color-sheet-art{display:block;width:100%;max-width:420px;height:auto;margin:6px auto}
.color-sheet-draw{border:2px dashed var(--sv-pale);border-radius:12px;min-height:120px;padding:8px 12px;margin-top:10px}.color-sheet-draw p{margin:0;font-size:15px;color:var(--sv-soft)}
.color-sheet-words{display:flex;flex-wrap:wrap;gap:12px;font-size:16px;margin:10px 0 0}
.abc-roman-grid{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.abc-roman-grid li{display:grid;justify-items:center;gap:2px;padding:8px 2px;background:#fff;border:2px solid var(--sv-pale);border-radius:10px;min-width:0}
.abc-roman-grid b{font-size:14px;color:var(--sv-soft)}.abc-roman-grid span{font:700 15px/1.2 var(--abc-letter);color:var(--sv-ink);overflow-wrap:anywhere;text-align:center}
.abc-roman-signs{max-width:360px}
.abc-table .abc-say{font-size:0;gap:0;min-height:40px;padding:6px 10px}.abc-table .abc-say span{font-size:18px}
.abc-table-scroll{max-width:100%;overflow-x:auto}
@media(max-width:760px){.abc-table-compact{font-size:14px}.abc-table-compact th,.abc-table-compact td{padding:7px 4px}.abc-table-compact tbody th{font-size:18px}.abc-table-compact .abc-say{padding:4px 8px;min-height:36px}}
@media(max-width:760px){.abc-roman-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.abc-roman-grid span{font-size:13px}.abc-poem{padding:10px 8px}.abc-poem-line{font-size:24px}.abc-word-tile{min-width:38px;min-height:46px;font-size:24px}.abc-word-choice{font-size:19px;padding:8px 12px}.abc-sentence-slot{min-width:56px;font-size:20px}.color-sheets,.abc-rhymes{grid-template-columns:1fr}}
@media(max-width:370px){.abc-roman-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.abc-crayon{width:40px;height:40px}.abc-poem-line{font-size:22px}.abc-word-tile{min-width:34px}}
@media print{
 .abc-colour-wrap,.abc-colour-wrap *{visibility:visible}.abc-colour-wrap{position:absolute;left:0;top:0;width:100%;max-width:none}.abc-colour-sheet{border:0;box-shadow:none}
 body.print-pick .worksheet:not(.print-target){display:none}
 .color-sheet .color-sheet-art{max-width:16cm}.color-sheet-draw{border-color:#999;min-height:6cm}
}
/* Phone readability floor */
@media(max-width:760px){.abc-letter-links small,.abc-note,.abc-practice small,.abc-cursive-board small,.sheet-name{font-size:12px}.abc-forms dt,.abc-table thead th{font-size:11px}.abc-card-word{font-size:11px}.abc-tile,.abc-strip-btn,.abc-mini-strip a{min-height:44px}}
