/* ================= KARTEN (A6) ================= */
.card{--c1:#2f6b4f;--c2:#c0392b;--c3:#d9a441;--c4:#fff8ea;--hf:'Fredoka';width:105mm;height:148mm;box-sizing:border-box;position:relative;background:#fff;color:#262626;
  font-family:'Andika','Inter','Segoe UI',Arial,sans-serif;overflow:hidden;padding:10mm 10mm 9.5mm;display:flex;flex-direction:column;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.card *{box-sizing:border-box}
.card::before{content:'';position:absolute;inset:4.5mm;border:.5mm solid var(--c1);border-radius:3.5mm;pointer-events:none;z-index:2}
.card.nodeco::before{inset:5mm}
.card .deco{position:absolute;left:0;top:0;width:105mm;height:148mm;pointer-events:none;z-index:0}
.card img.ej{height:1em;width:1em;vertical-align:-.13em;display:inline-block;object-fit:contain}
.card .ejl{font-family:'Noto Emoji',sans-serif;font-weight:500;color:var(--c1)}
.c-head{display:flex;align-items:center;gap:3mm;margin:.5mm 0 2mm;position:relative;z-index:1}
.c-num{flex:none;width:12.5mm;height:12.5mm;border-radius:50%;background:var(--c1);color:#fff;font:600 6.6mm/12.5mm 'Fredoka','Inter',sans-serif;text-align:center;box-shadow:0 0 0 .6mm #fff,0 0 0 1mm var(--c3)}
.c-ht{flex:1;min-width:0}
.c-title{font:600 4.4mm/1.15 var(--hf),'Fredoka','Inter',sans-serif;color:var(--c1)}
.c-sub{font-size:2.9mm;color:var(--c1);text-transform:uppercase;letter-spacing:.35mm;margin-top:.6mm}
.c-deco{flex:none;width:6mm}
.c-instr{font-size:3.6mm;line-height:1.3;margin:0 0 2mm;text-align:center;position:relative;z-index:1}
.c-instr b{color:var(--c2)}
.c-body{flex:1;min-height:0;position:relative;overflow:hidden;z-index:1}
.c-fit{transform-origin:top left;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3mm;width:100%;min-height:100%}
.c-foot{margin-top:2mm;display:flex;align-items:flex-end;gap:2mm;position:relative;z-index:1}
.c-ans{flex:1;min-width:0}
.c-anslbl{font-size:3mm;color:var(--c1);font-weight:700;margin-bottom:1mm}
.c-felix{flex:none;text-align:center;font-size:2.4mm;color:#888;line-height:1.1}
.c-felix span{display:block;font-size:7mm;line-height:1.1}
.c-note{font-size:2.6mm;color:#999;text-align:center;font-style:italic;margin-top:1mm}
.boxes{display:flex;flex-wrap:wrap;gap:1mm;justify-content:center}
.bx{display:inline-flex;align-items:center;justify-content:center;border:.35mm solid #444;border-radius:1mm;background:#fff;font-weight:700;color:#bbb;position:relative}
.bx i{position:absolute;bottom:.3mm;right:.6mm;font-size:2mm;font-style:normal;color:#999;font-weight:400}
.prefix{font:600 4.2mm/1.3 'Fredoka','Inter',sans-serif;text-align:center;color:var(--c1)}
.intro{font-size:3.4mm;line-height:1.35;text-align:center;color:#444}
.reim{font-size:4.2mm;line-height:1.5;text-align:center;font-style:italic;color:#333;padding:0 1mm}
.reim .rn{display:block;white-space:nowrap}.reim .rw{display:block}
.reim .q{font-size:9mm;color:var(--c3);line-height:.6;display:block;font-style:normal}
/* Anfangsbuchstaben */
.pics{display:flex;flex-wrap:wrap;justify-content:center;gap:2mm 1.6mm}
.pic{display:flex;flex-direction:column;align-items:center;gap:1mm}
.pic .emo{line-height:1.15;text-align:center}
.pic .emo.letter{font-weight:700;color:#999}
/* tables/keys */
.key{display:flex;flex-wrap:wrap;justify-content:center;gap:1mm;padding:1.8mm;max-width:88mm;border:.3mm solid var(--c3);border-radius:2mm;background:var(--c4)}
.key .k{display:flex;flex-direction:column;align-items:center;min-width:8.6mm;padding:.4mm .6mm;border-radius:1mm;background:#fff;border:.2mm solid #e7e2d6}
.key .k .s{font-size:6mm;line-height:1.2}
.key .k .l{font-size:4.2mm;font-weight:700;color:var(--c1);line-height:1.1}
.code{display:flex;flex-wrap:nowrap;justify-content:center;gap:1.6mm 1.2mm}
.code .g{display:flex;flex-direction:column;align-items:center;gap:.8mm}
.code .g .s{font-size:5.4mm;line-height:1.15;min-height:6mm;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.keylbl{font-size:2.8mm;color:var(--c1);text-transform:uppercase;letter-spacing:.3mm;margin-bottom:-2mm}
/* Buchstabenkacheln */
.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5mm}
.tile{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:1.4mm;color:#fff}
.bigtext{font:700 7mm/1.3 'Andika','Inter',sans-serif;letter-spacing:1.2mm;text-align:center;color:var(--c1);word-break:break-word}
.mirror{display:inline-block;transform:scaleX(-1)}
.mirrorbox{border:.4mm dashed #9ab;border-radius:2mm;padding:3mm 4mm;background:linear-gradient(135deg,#f3f8fb,#fff)}
/* Kreuzwort */
.kw{border-collapse:separate;border-spacing:0}
.kw td{padding:0;text-align:center;vertical-align:middle}
.kw td.c{border:.3mm solid #333;background:#fff;font-weight:700;color:#999}
.kw td.c.sol{background:var(--c4);border:.55mm solid var(--c2)}
.kw td.clue{line-height:1}
/* Pfeil-Code */
.pgrid{border-collapse:collapse}
.pgrid td{border:.3mm solid var(--c1);text-align:center;font-weight:700;color:#333}
.pgrid td.star{background:var(--c4);color:var(--c2)}
.plist{display:grid;grid-auto-flow:column;gap:1.2mm 7mm;font-size:4mm}
.plist .pi{display:grid;grid-template-columns:3.5mm max-content auto;align-items:center;gap:1.5mm;white-space:nowrap}
.plist .pi b{font-size:3mm;color:var(--c1);width:3.5mm;text-align:right}
.plist .ar{letter-spacing:.3mm;color:var(--c1);font-weight:700;min-width:16mm}
.plist{justify-items:stretch}.plist .pi .box,.plist .pi>:last-child{justify-self:end}
/* Morse */
.m-dot{display:inline-block;width:1.7mm;height:1.7mm;border-radius:50%;background:#262626;margin:0 .45mm;vertical-align:middle}
.m-dash{display:inline-block;width:4.2mm;height:1.5mm;border-radius:.8mm;background:#262626;margin:0 .45mm;vertical-align:middle}
.key.morse .k{flex-direction:row;gap:1.2mm;padding:.8mm 1.2mm;min-width:0}
.key.morse .k .l{font-size:3.3mm}
/* dice */
.wtab{border-collapse:collapse}
.wtab td{border:.25mm solid #cbb994;text-align:center;font-weight:700;color:var(--c1)}
.wtab td.h{border:none;background:none}
.wtab td.st{color:var(--c3)}
/* Puzzle */
.pz{position:relative;width:86mm;height:84mm;border:.5mm solid var(--c1);border-radius:2mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;background:radial-gradient(circle at 30% 20%,var(--c4),#fff 60%)}
.pz .pzE{font-size:22mm;line-height:1}
.pz .pzW{font:700 9mm/1.1 'Andika','Inter',sans-serif;color:var(--c2);letter-spacing:1mm;text-align:center;padding:0 3mm;word-break:break-word}
.pz .cutv,.pz .cuth{position:absolute;border-color:#777;border-style:dashed;border-width:0}
.pz .cutv{top:0;bottom:0;border-left-width:.3mm}
.pz .cuth{left:0;right:0;border-top-width:.3mm}
.pz .sc{position:absolute;font-size:3.5mm;color:#777;background:#fff;line-height:1}
/* Foto */
.foto{width:84mm;height:84mm;border-radius:50%;border:1.2mm solid var(--c1);box-shadow:0 0 0 .8mm var(--c3);background-color:#eee;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;color:#999;font-size:3.5mm;text-align:center}
.err{color:var(--c2);font-size:3.5mm;text-align:center}
/* back side */
.card.back{align-items:center;justify-content:flex-start;padding-top:29mm;text-align:center;background:#fff}
.b-top{font:600 4.4mm var(--hf),'Fredoka','Inter',sans-serif;color:var(--c1);letter-spacing:.8mm;text-transform:uppercase;position:relative;z-index:1}
.b-num{font:600 46mm/1 var(--hf),'Fredoka','Inter',sans-serif;color:var(--c1);margin:3mm 0 1mm;text-shadow:.9mm .9mm 0 var(--c4);position:relative;z-index:1}
.b-num.long{font-size:20mm;line-height:1.1}
.b-names{font:500 4.4mm 'Fredoka','Inter',sans-serif;color:var(--c1);position:relative;z-index:1}
.b-stars{display:flex;gap:3mm;justify-content:center;margin:2.5mm 0;position:relative;z-index:1}
.b-tree{margin-top:3mm;position:relative;z-index:1}
/* ================= PRINT SHEETS ================= */
.sheet{width:210mm;height:297mm;position:relative;display:grid;grid-template-columns:105mm 105mm;grid-template-rows:148.5mm 148.5mm;overflow:hidden;background:#fff;break-after:page;page-break-after:always;page:a4}
.sheet .slot{display:flex;align-items:center;justify-content:center;overflow:hidden}
.sheet .cut-v{position:absolute;left:105mm;top:0;bottom:0;border-left:.2mm dashed #bbb}
.sheet .cut-h{position:absolute;top:148.5mm;left:0;right:0;border-top:.2mm dashed #bbb}
.sheet6{width:105mm;height:148mm;overflow:hidden;break-after:page;page-break-after:always;page:a6;background:#fff}
.solsheet{width:210mm;height:297mm;overflow:hidden;box-sizing:border-box;padding:11mm 12mm;font-family:'Andika','Inter',sans-serif;color:#222;break-after:page;page-break-after:always;page:a4;background:#fff}
.solsheet h1{font:600 7mm 'Fredoka','Inter',sans-serif;color:var(--c1);margin:0 0 1mm}
.solsheet p{font-size:3.2mm;color:#666;margin:0 0 4mm}
.solsheet table{width:100%;border-collapse:collapse;font-size:2.75mm;line-height:1.25}
.solsheet th{text-align:left;background:var(--c1);color:#fff;padding:1.6mm 2mm;font-weight:700}
.solsheet td{padding:.9mm 1.6mm;border-bottom:.2mm solid #ddd;vertical-align:top}
.solsheet tr:nth-child(even) td{background:#faf6ee}
.solsheet td.w{font-weight:700;color:var(--c2);letter-spacing:.3mm}
.solsheet .chk{width:4mm;height:4mm;border:.3mm solid #888;display:inline-block;border-radius:.6mm}
.kwsheet{width:210mm;height:297mm;box-sizing:border-box;padding:16mm;font-family:'Andika','Inter',sans-serif;display:flex;flex-direction:column;gap:6mm;align-items:center;break-after:page;page-break-after:always;page:a4;background:#fff;position:relative}
.kwsheet::before{content:'';position:absolute;inset:8mm;border:.8mm solid var(--c1);border-radius:6mm}
.kwsheet h1{font:600 10mm 'Fredoka','Inter',sans-serif;color:var(--c1);margin:0;text-align:center}
.kwclues{display:grid;grid-template-columns:1fr 1fr;gap:4mm 10mm;width:100%;font-size:4.2mm;line-height:1.5}
.kwclues h3{font:600 4.6mm 'Fredoka','Inter',sans-serif;color:var(--c2);margin:0 0 1mm}
.kwclues .cl{display:flex;gap:2mm}
.kwclues .cl b{color:var(--c1);min-width:6mm;text-align:right}
.kwcard .kwclues{font-size:3mm;gap:1mm 4mm;line-height:1.35}
.kwcard .kwclues h3{font-size:3.2mm}
@page{size:A4;margin:0}
@page a4{size:A4;margin:0}
@page a6{size:A6;margin:0}

/* ---------- Erweiterungen v2 ---------- */
.card.a5{zoom:1.41421}
.c-num.sm{font-size:4.6mm}
.c-title.big{font-size:6mm;line-height:1.2}
.tx-emo{font-size:26mm;line-height:1.1;text-align:center}
.tx{font-size:4.2mm;line-height:1.55;text-align:center;color:#333;max-width:84mm}
.tx p{margin:0 0 2.5mm}
.pzgrid{position:relative}
.pzp{position:absolute;overflow:hidden;box-shadow:0 0 0 .35mm #444}
.pzimg{position:relative;overflow:hidden;background:#fff}
.pzimg .pzE{position:absolute;left:0;right:0;transform:translateY(-55%);text-align:center;font-size:26mm;line-height:1}
.pzimg .pzW{position:absolute;left:3mm;right:3mm;transform:translateY(-50%);text-align:center;font-family:'Andika','Inter',sans-serif;font-weight:700;color:var(--c2);letter-spacing:.8mm;line-height:1.05;word-break:break-word;text-shadow:.5mm .5mm 0 #fff,-.5mm -.5mm 0 #fff}
.wgrid{border-collapse:collapse}
.wgrid td{border:.25mm solid #b9c9be;text-align:center;font-weight:700;color:#333}
.wgrid td.st{color:var(--c3)}
.wlist{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2mm 3mm;font-size:3.6mm;font-weight:700;color:var(--c1);max-width:86mm}
.wlist span{background:var(--c4);border-radius:1.5mm;padding:.3mm 1.6mm}
.sgrid{border-collapse:collapse;border:.8mm solid var(--c1)}
.sgrid td{border:.3mm solid var(--c1);text-align:center;line-height:1}
.malimg{max-width:86mm;max-height:112mm;display:block;object-fit:contain}
.malph{width:84mm;height:100mm;border:.5mm dashed #bbb;border-radius:3mm;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-size:4mm;text-align:center;gap:2mm}
.fact{background:var(--c4);border:.35mm solid #e9d3a0;border-radius:3mm;padding:2.5mm 3mm;font-size:3.9mm;line-height:1.45;max-width:86mm;position:relative}
.fact .fb{display:block;font:600 3.2mm 'Fredoka','Inter',sans-serif;color:var(--c2);text-transform:uppercase;letter-spacing:.3mm;margin-bottom:.8mm}
.quiz{display:flex;gap:2.5mm;align-items:center;width:86mm;border-bottom:.25mm dashed #ccc;padding:1.8mm 0;font-size:3.7mm;line-height:1.35}
.quiz .qn{flex:none;width:6mm;height:6mm;border-radius:50%;background:var(--c1);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:3.2mm}
.quiz .qt{flex:1}.quiz .qb{flex:none;font-size:3mm;color:#555;line-height:1.5}
.drawbox{width:86mm;height:92mm;border:.5mm solid var(--c1);border-radius:3mm}
.wlines{width:86mm}.wlines div{height:10mm;border-bottom:.3mm solid #9bb}
.sheet5{width:148mm;height:210mm;overflow:hidden;break-after:page;page-break-after:always;page:a5;background:#fff}
.sheetL{width:297mm;height:210mm;display:flex;position:relative;overflow:hidden;break-after:page;page-break-after:always;page:a4l;background:#fff}
.slotL{width:148.5mm;height:210mm;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}
.sheetL .fold{position:absolute;left:148.5mm;top:0;bottom:0;border-left:.2mm dotted #ccc}
.sheetL .cut-vL{position:absolute;left:148.5mm;top:0;bottom:0;border-left:.2mm dashed #bbb}
.blankpage{width:148mm;height:210mm}
@page a5{size:A5;margin:0}
@page a4l{size:A4 landscape;margin:0}

/* ---------- v3: booklet pages (A5), special pages, new puzzles ---------- */
.card.page{padding:9mm 9mm 9mm}
.card.page::before{display:none}
.card.page .c-head{justify-content:center;margin:0 0 2.5mm}
.card.page .c-title{font-size:6.4mm;text-align:center;color:var(--c1);position:relative;padding-bottom:1.6mm}
.card.page .c-title{padding-bottom:.6mm}
.card.page .c-deco{display:none}
.card.page .c-instr{font-size:3.7mm}
.card.sp-cover,.card.sp-certificate{padding:12mm 12mm}
.wm{position:absolute;right:9mm;bottom:5.3mm;font:400 1.9mm 'Inter',sans-serif;color:var(--c1);opacity:.38;letter-spacing:.15mm;z-index:3}
.cov{display:flex;flex-direction:column;align-items:center;gap:4mm;text-align:center;width:80mm}
.cov-t{font:600 11mm/1.05 var(--hf),'Fredoka',sans-serif;color:var(--c1)}
.cov-s{font-size:4mm;color:#555}
.cov-img{width:74mm;height:74mm;object-fit:cover;border-radius:5mm;border:1mm solid var(--c3)}
.cov-mot{position:relative;width:74mm;height:62mm}
.cov-mot span{position:absolute;line-height:1;transform:translate(-50%,-50%)}
.cov-mot .m0{left:50%;top:52%;font-size:34mm}.cov-mot .m1{left:10%;top:16%;font-size:12mm;transform:translate(-50%,-50%) rotate(-12deg)}.cov-mot .m2{left:90%;top:14%;font-size:13mm;transform:translate(-50%,-50%) rotate(10deg)}.cov-mot .m3{left:12%;top:86%;font-size:11mm}.cov-mot .m4{left:88%;top:84%;font-size:12mm;transform:translate(-50%,-50%) rotate(-8deg)}
.cov-own{font:500 4.2mm 'Fredoka','Inter',sans-serif;color:var(--c1);width:70mm;margin-top:3mm}
.cov-line{border-bottom:.35mm solid #777;height:9mm;width:100%}.cov-line.s{height:7mm}
.cert{display:flex;flex-direction:column;align-items:center;gap:3mm;text-align:center;width:80mm}
.cert-e{font-size:28mm;line-height:1}
.cert-t{font:600 11mm/1 var(--hf),'Fredoka',sans-serif;color:var(--c1)}
.cert-x{font-size:4.2mm;line-height:1.45;color:#444}
.cert-box{border:.5mm solid var(--c3);border-radius:4mm;padding:4mm 5mm;width:76mm;background:var(--c4)}
.cert-l{font:500 4mm 'Fredoka','Inter',sans-serif;color:var(--c1)}
.cert-row{display:flex;gap:6mm;margin-top:2mm}.cert-row>div{flex:1}.cert-row small{font-size:2.8mm;color:#888}
.cert-stars{font-size:7mm;letter-spacing:2mm}
.small-note{font-size:3.3mm;color:#555;text-align:center}
.wordrows{display:flex;flex-direction:column;gap:3mm;align-items:center}
.answ{display:flex;gap:4mm;justify-content:center;flex-wrap:wrap}
.multi{display:flex;flex-direction:column;gap:4mm;width:88mm}
.multi .mi{display:flex;flex-direction:column;align-items:center;gap:1.8mm;position:relative;padding:2.5mm 2mm 3mm;border:.3mm dashed #ccc;border-radius:3mm}
.multi .mn{position:absolute;left:-1.5mm;top:-1.5mm;width:6mm;height:6mm;border-radius:50%;background:var(--c1);color:#fff;font:700 3.2mm/6mm 'Fredoka','Inter',sans-serif;text-align:center}
.multi .mc .bigtext{font-size:6mm!important}
.stb{width:84mm;display:flex;flex-direction:column;gap:2mm}
.stb-r{display:flex;gap:2mm;align-items:flex-end;font-size:4mm;color:var(--c1)}.stb-r span{flex:1;border-bottom:.3mm solid #999;height:7mm}
.drawbox.sm{height:62mm;display:flex;align-items:flex-start;justify-content:center;padding-top:2mm;font-size:3.4mm;color:#999}
.joke{width:84mm;background:var(--c4);border-radius:3mm;padding:2.5mm 3.5mm;font-size:3.8mm;line-height:1.4;border-left:1.2mm solid var(--c3)}
.joke .jq{color:#222}.joke .ja{color:var(--c1);font-style:italic;transform:rotate(180deg);text-align:right;margin-top:1.2mm;font-size:3.4mm}
.shq{display:flex;flex-direction:column;gap:2.5mm;width:84mm}
.shr{display:flex;align-items:center;gap:2mm}.shr .shi{line-height:1;width:16mm;text-align:center}.shr .gap{flex:1}
.shr .dot{width:2.2mm;height:2.2mm;border-radius:50%;background:#333}
.shadow{filter:brightness(0) opacity(.82)}
.odd{display:flex;flex-direction:column;gap:2.2mm}
.oddr{display:flex;align-items:center;gap:4.5mm;font-size:11mm;line-height:1;padding:1.2mm 3mm;border-bottom:.3mm dashed #ddd}
.oddr b{font:700 4mm 'Fredoka',sans-serif;color:#fff;background:var(--c1);border-radius:50%;width:6.5mm;height:6.5mm;display:flex;align-items:center;justify-content:center}
.cnt{position:relative;border:.4mm solid var(--c3);border-radius:4mm;background:var(--c4)}
.cnt span{position:absolute;font-size:8mm;line-height:1}
.cntq{display:flex;gap:7mm;justify-content:center}.cntq>div{display:flex;align-items:center;gap:2mm;font-size:8mm}
.rebus{display:flex;flex-direction:column;gap:4mm;align-items:flex-start}
.rb{display:flex;align-items:center;gap:2.5mm;font-size:11mm;line-height:1}.rb b{font:700 6mm 'Fredoka',sans-serif;color:var(--c2)}
.rasters{display:flex;flex-direction:column;gap:5mm;align-items:center}
.legend{display:flex;flex-wrap:wrap;gap:1.2mm 4mm;justify-content:center;font-size:3.1mm;color:#444;max-width:86mm}.legend b{color:var(--c2)}

/* ---------- Challenge-Karten (A7 quer, 8 pro A4) ---------- */
.card.chal{width:105mm;height:74.25mm;padding:6.5mm 8mm 5.5mm}
.card.chal::before{inset:3.5mm;border-radius:3mm;border-width:.45mm}
.card.chal .c-body{display:flex}
.ch{display:flex;gap:4mm;align-items:center;width:86mm}
.ch-e{font-size:16mm;line-height:1;flex:none;width:20mm;height:20mm;border-radius:50%;background:var(--c4);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 .6mm var(--c3)}
.ch-e img.ej{width:.72em;height:.72em}
.ch-t{font:600 5mm/1.15 var(--hf),'Fredoka',sans-serif;color:var(--c1);margin-bottom:1.2mm}
.ch-x{font-size:3.6mm;line-height:1.38;color:#333}
.ch-done{position:absolute;right:7mm;bottom:4.6mm;font-size:2.9mm;color:#999;z-index:3}
.cht{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5mm;width:86mm}
.cht-e{font-size:13mm;line-height:1}
.cht-t{font:600 7mm/1.1 var(--hf),'Fredoka',sans-serif;color:var(--c1)}
.cht-r{font-size:3.5mm;color:#555;line-height:1.35}
.sheet8{width:210mm;height:297mm;position:relative;display:grid;grid-template-columns:105mm 105mm;grid-template-rows:repeat(4,74.25mm);overflow:hidden;background:#fff;break-after:page;page-break-after:always;page:a4}
.sheet8 .slot{display:flex;align-items:center;justify-content:center;overflow:hidden}
.sheet8 .cut8{position:absolute;left:0;right:0;border-top:.2mm dashed #bbb}
.sheet8 .cut-v{position:absolute;left:105mm;top:0;bottom:0;border-left:.2mm dashed #bbb}
.card.chal .deco{height:74.25mm}
.rb .boxes{flex-wrap:nowrap}

/* title line & mascot with speech bubble */
.tline{display:block;width:34mm;height:3.8mm;margin:0 auto}
.c-instr.bub{display:flex;align-items:center;gap:2.2mm;text-align:left;margin:0 0 2.4mm}
.c-instr.bub .mas{font-size:8.5mm;line-height:1;flex:none;filter:drop-shadow(0 .3mm 0 rgba(0,0,0,.08))}
.c-instr.bub .mas img.ej{width:1em;height:1em}
.c-instr.bub .bt{position:relative;flex:1;background:color-mix(in srgb,var(--c4) 70%,#fff);border:.3mm solid color-mix(in srgb,var(--c1) 45%,transparent);border-radius:3mm;padding:1.6mm 2.6mm}
.c-instr.bub .bt::before{content:'';position:absolute;left:-1.45mm;top:50%;width:2.4mm;height:2.4mm;background:inherit;border-left:inherit;border-bottom:inherit;transform:translateY(-50%) rotate(45deg)}
.card.page .c-instr.bub{margin:0 1mm 3mm}
.card.page .c-instr.bub .mas{font-size:11mm}
.card.page{padding-bottom:13mm}

/* facts: loosely spread, with pictures */
.facts{display:flex;flex-direction:column;gap:2.6mm;width:88mm;margin:0 auto}
.fct-top{text-align:center;font-size:13mm;line-height:1}
.fct{display:flex;align-items:center;gap:2.4mm;transform:rotate(var(--rot))}
.fct.l{margin-right:var(--off)}.fct.r{margin-left:var(--off);flex-direction:row-reverse}
.fct .fe{font-size:10mm;line-height:1;flex:none;transform:rotate(var(--er))}
.fct .fx{position:relative;flex:1;background:color-mix(in srgb,var(--c4) 75%,#fff);border:.35mm solid color-mix(in srgb,var(--c3) 70%,transparent);border-radius:3.5mm;padding:2.4mm 3.2mm 2.4mm 3.2mm;font-size:3.8mm;line-height:1.42}
.fct .fq{position:absolute;top:-2.4mm;width:5mm;height:5mm;border-radius:50%;background:var(--c2);color:#fff;font:700 3.4mm/5mm var(--hf),'Fredoka',sans-serif;text-align:center}
.fct.l .fq{right:-1.6mm}.fct.r .fq{left:-1.6mm}

/* Erlebniskarte */
.exp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2.6mm;padding:2mm 3mm}
.exp-k{font:600 4.2mm var(--hf),'Fredoka',sans-serif;color:var(--c2);letter-spacing:.2mm}
.exp-e{font-size:24mm;line-height:1}.exp-e img.ej{width:1em;height:1em}
.exp-t{font:600 6.2mm/1.2 var(--hf),'Fredoka',sans-serif;color:var(--c1);max-width:80mm}
.exp-w{display:flex;align-items:flex-end;gap:2mm;width:62mm;font-size:3.4mm;color:#777;margin-top:2mm}.exp-w i{flex:1;border-bottom:.3mm solid #aaa;height:3.6mm}
.exp-s{color:var(--c3);font-size:4mm;letter-spacing:2mm}
.card.t-experience .c-body{align-items:center}
.vnote{position:absolute;left:0;right:0;bottom:6.5mm;text-align:center;font-size:2.5mm;color:#aaa;z-index:3}
/* discreet website line on printed backs and challenge cards */
.card.back .b-url{position:absolute;left:0;right:0;bottom:2.3mm;text-align:center;font:400 1.7mm 'Inter',sans-serif;letter-spacing:.15mm;color:var(--c1);opacity:.4;z-index:3}
.wm.wm-s{right:3.2mm;bottom:2mm;font-size:1.5mm;opacity:.33}
/* A5 pages are the A6 layout zoomed ×1.41 – keep the running text a bit smaller (titles stay) */
.card.page.a5 .c-instr{font-size:2.95mm}
.card.page.a5 .c-instr.bub .mas{font-size:8.5mm}
.card.page.a5 .c-instr.bub .bt{padding:1.3mm 2.4mm}
.card.page.a5 .c-anslbl{font-size:2.6mm}
.card.page.a5 .wlist,.card.page.a5 .small-note{font-size:.88em}
/* numbers of several puzzles on one page sit inside their box (never under the instruction) */
.multi .mi{padding:2.5mm 8mm 3mm}
.multi .mn{left:1.6mm;top:1.6mm}
.multi .tiles{flex-wrap:nowrap}
/* logic grid & number pyramid */
.lclues{margin:0 0 3mm;padding-left:5mm;font-size:3.5mm;line-height:1.45;text-align:left}
.lclues li{margin:.4mm 0}
.lgrid{border-collapse:collapse;margin:0 auto}
.lgrid th{font-size:5.2mm;font-weight:400;padding:.6mm 1mm;text-align:center}
.lgrid td{border:.3mm solid var(--c1)}
.lgrid td.sep,.lgrid th.sep{border:none;width:2.5mm}
.pyr{display:flex;flex-direction:column;align-items:center;gap:0}
.pyr-r{display:flex}
.pyr-r span{display:inline-flex;align-items:center;justify-content:center;border:.35mm solid var(--c1);margin:-.17mm;background:#fff;font-weight:700;color:var(--c1);font-family:Andika,Inter,sans-serif}
.ngrid td{font-family:Andika,Inter,sans-serif;font-weight:700;color:var(--c1)}
.lclues img.ej{width:1.45em;height:1.45em;vertical-align:-.38em}
.lgrid th img.ej{width:1.15em;height:1.15em}
/* last page variants: badge to cut out, ID card, "all about me" */
.lp-prof{width:84mm;gap:3mm}.lp-prof .stb{width:100%}
.lp-cut{font-size:2.8mm;color:#999;margin-top:1mm}
.bdg{position:relative;width:70mm;height:78mm;display:flex;justify-content:center}
.bdg-r{position:absolute;left:0;top:14mm;width:70mm;height:64mm}
.bdg-c{position:relative;width:58mm;height:58mm;border-radius:50%;border:.6mm dashed #999;outline:1.4mm solid var(--c3);outline-offset:-3.5mm;background:var(--c4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6mm}
.bdg-e{font-size:17mm;line-height:1}
.bdg-l{font:600 4.6mm var(--hf),'Fredoka',sans-serif;color:var(--c1);text-transform:uppercase;letter-spacing:.3mm}
.bdg-n{border-bottom:.35mm solid #777;width:36mm;height:6mm}.bdg-c small{font-size:2.5mm;color:#888}
.idc{width:84mm;border:.6mm dashed #999;border-radius:4mm;padding:3mm;background:#fff;box-shadow:inset 0 0 0 1.2mm var(--c4)}
.idc-h{font:600 4mm var(--hf),'Fredoka',sans-serif;color:#fff;background:var(--c1);border-radius:2mm;padding:1.4mm 2mm;text-align:center;margin-bottom:2.5mm}
.idc-b{display:flex;gap:3mm}.idc-ph{flex:none;width:26mm;height:32mm;border:.4mm solid var(--c3);border-radius:2mm;display:flex;align-items:flex-end;justify-content:center;padding-bottom:1mm}
.idc-ph span,.idc-th span{font-size:2.4mm;color:#999}
.idc-f{flex:1;display:flex;flex-direction:column;gap:.6mm;text-align:left}.idc-r small{font-size:2.4mm;color:#888}.idc-r .cov-line.s{height:4.6mm}
.idc-ft{display:flex;gap:3mm;margin-top:2.5mm;align-items:flex-end}.idc-th{width:16mm;height:16mm;border:.4mm dashed var(--c3);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center}
.idc-sig{flex:1;text-align:left}.idc-sig small{font-size:2.4mm;color:#888}
.slegend{display:flex;justify-content:center;gap:5mm;margin-top:3mm;font-size:7mm;line-height:1}
.ans-line{border-bottom:.4mm solid #666;height:8mm;width:100%}
.cc-leg{display:flex;justify-content:center;gap:5mm;margin-top:2.5mm}
.cc-leg span{display:inline-flex;align-items:center;gap:1.4mm;font:700 4mm Andika,Inter,sans-serif;color:#444}
.cc-leg i{display:inline-block;width:7mm;height:7mm;border-radius:50%;border:.3mm solid rgba(0,0,0,.25)}
.multi.g2{display:grid;grid-template-columns:1fr 1fr;width:auto;gap:3mm}
.multi .mc{display:flex;justify-content:center}
.ans-line.sm{height:6mm;width:60mm}
.tx-img{display:block;max-width:84mm;max-height:70mm;margin:0 auto 3mm;border-radius:2mm;object-fit:contain}
.tx-img.full{max-height:120mm}
/* picture maths */
.pm{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.5mm 2mm}
.pm-p{display:inline-flex;flex-direction:column;align-items:center;gap:.6mm}
.pm-e{font-size:15mm;line-height:1}
.pm-m,.pm-a{font:700 4.6mm Andika,Inter,sans-serif;letter-spacing:.4mm}
.pm-m{color:var(--c2)}.pm-a{color:var(--c1)}
.pm-op{font:700 7mm Fredoka,Inter,sans-serif;color:#666}
.pm-l{display:inline-flex;align-items:center;justify-content:center;width:10mm;height:11mm;border:.4mm solid var(--c1);border-radius:1.6mm;font:700 6mm Andika,Inter,sans-serif;color:var(--c1)}
.pm-q{font:700 8mm Fredoka,Inter,sans-serif;color:var(--c3)}
.mk{display:flex;flex-direction:column;align-items:center;gap:2mm}
.mk-who{display:flex;gap:3mm;font-size:8mm;line-height:1}
.mk .lclues{margin:1mm 0 0;font-size:3.3mm}
.mk-q{font:600 4mm Fredoka,Inter,sans-serif;color:var(--c2);text-align:center}
.mk-q img.ej{width:1.3em;height:1.3em;vertical-align:-.3em}
/* ===== solution view: .reveal elements are only visible inside .peek (never printed) ===== */
.reveal{display:none}
.peek .reveal{display:revert}
.peek svg .reveal{display:inline}
.peek .bx .reveal{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;color:#c0392b;font-weight:700}
.bx{position:relative}
.peek .ans-line .reveal{display:block;color:#c0392b;font:700 5mm Andika,Inter,sans-serif;letter-spacing:.6mm;text-align:center}
.peek .reveal-hl{background:#ffe08a!important;border-radius:1mm}
.peek .oddr .reveal-hl{outline:.6mm solid #c0392b;outline-offset:.4mm;background:none!important;border-radius:50%}
.peek td .reveal,.peek .pyr-r .reveal{color:#c0392b}
.peek .sgrid .reveal{opacity:.55}
.sh-sol{font:700 3.6mm Andika,Inter,sans-serif;color:#fff;background:#c0392b;border-radius:50%;width:5mm;height:5mm;align-items:center;justify-content:center}
.peek .sh-sol{display:inline-flex}
.peek .qb .reveal{display:inline;color:#c0392b}
@media print{.reveal{display:none!important}.reveal-hl{background:none!important;outline:none!important}}
.photo{position:relative}.peek .ph-full{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.mk-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5mm 4mm;font-size:3mm;color:#555}
.mk-leg span{display:inline-flex;align-items:center;gap:1.2mm}
.mk-q .reveal{color:#c0392b}
.shq{position:relative}.sh-lines{position:absolute;left:0;top:0;pointer-events:none}
.pg-wrap{position:relative;display:inline-block}.pg-sol{position:absolute;left:.15mm;top:.15mm;pointer-events:none}
.bx .strike{position:absolute;left:12%;right:12%;top:50%;border-top:.5mm solid #c0392b;transform:rotate(-20deg)}
.peek .bx .strike{display:block}
.peek .bx .reveal.strike{display:block;inset:auto;left:10%;right:10%;top:50%;height:0;border-top:.5mm solid #c0392b;transform:rotate(-25deg)}
.kwclues.kwflow{display:block;columns:2;column-gap:8mm}
.kwclues.kwflow .cl{break-inside:avoid}
.kwclues .cl i{font-style:normal;color:var(--c2);min-width:3.5mm}
.mk-rooms i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:5.5mm;height:5.5mm;border-radius:1mm;border:.25mm solid #bbb;font-size:3.4mm}
/* treasure hunt specials */
.c-story{font-style:italic;font-size:3.3mm;line-height:1.35;color:var(--c1);text-align:center;margin:0 2mm 2mm}
.c-piece{position:absolute;right:7mm;bottom:7.5mm;z-index:3;background:#fff;border:.35mm dashed var(--c2);border-radius:2mm;padding:.6mm 2mm;font-size:3.4mm}
.c-piece b{font-family:var(--hf),Fredoka,sans-serif;font-size:4.4mm;color:var(--c2);letter-spacing:.6mm}
.tmap-w{display:flex;flex-direction:column;align-items:center;gap:3mm}
.tmap-story{font-size:3.8mm;line-height:1.4;text-align:center;font-style:italic;max-width:120mm}
.tmap-how{font-size:3.1mm;line-height:1.4;background:#fff8e6;border:.3mm solid var(--c3);border-radius:2.5mm;padding:2mm 3mm;max-width:124mm}
.lock-q{list-style:none;padding:0;margin:0 0 3mm;display:flex;flex-direction:column;gap:2.4mm;width:100%}
.lock-q li{display:flex;align-items:center;gap:2.5mm;font-size:3.8mm;line-height:1.3}
.lock-q .lq-e{font-size:6mm;width:8mm;text-align:center}.lock-q .lq-t{flex:1}
.lock-code{display:flex;align-items:center;justify-content:center;gap:4mm}
.bx.lockd{width:8mm;height:9mm;font-size:5.2mm}
.cp-row{display:flex;flex-wrap:wrap;gap:2.5mm;justify-content:center}
.cp-slot{display:flex;flex-direction:column;align-items:center;gap:.6mm}.cp-slot small{font-weight:700;color:var(--c1)}

/* ===== patterns (js/types/patterns.js) ===== */
.seq{display:flex;flex-direction:column;gap:8mm;align-items:flex-start;width:max-content;margin:4mm auto 0}
.seq-r{display:flex;align-items:center;gap:1.4mm;font-size:9mm;line-height:1}
.seq-r>b{font:700 4mm Andika,Inter,sans-serif;color:var(--c1);width:6mm}
.seq-r>span{width:11.5mm;height:11.5mm;display:inline-flex;align-items:center;justify-content:center}
.seq-r .seq-q{border:.4mm dashed var(--c1);border-radius:2mm}
.sym{border-collapse:collapse;margin:0 auto}
.sym td{width:var(--cs);height:var(--cs);padding:0;border:.3mm solid #b9bfc7;position:relative}
.sym td.on{background:var(--c1)}.sym td.ax{border-left:.9mm solid var(--c1)}
.peek .sym .reveal{display:block;position:absolute;inset:0;background:#c0392b;opacity:.45}
.smq{display:flex;flex-direction:column;gap:4mm;align-items:center;font:700 7mm Andika,Inter,sans-serif;color:var(--c1)}
.smq-r{display:flex;align-items:center;gap:3mm}.smq-t{display:flex;align-items:center;gap:2mm;font-size:9mm}.smq-r>i,.smq-t>i{font-style:normal}
.smq-b{display:inline-flex;width:13mm;height:11mm;border:.5mm solid var(--c1);border-radius:2mm;align-items:center;justify-content:center;background:#fff}
.smq-q{border-width:.8mm}.peek .smq-b .reveal{display:inline;color:#c0392b}
.smq-leg{display:flex;gap:6mm;flex-wrap:wrap;justify-content:center;margin-top:3mm;font-size:6mm}.smq-leg>span{display:inline-flex;align-items:center;gap:2mm}.smq-leg .smq-b{width:11mm;height:9mm}
.np{border-collapse:collapse;margin:0 auto}
.np td{width:var(--cs);height:var(--cs);border:.35mm solid var(--c1);text-align:center;font:700 calc(var(--cs)*.42) Andika,Inter,sans-serif;color:#333}
.np td.np-end{background:var(--c3,#f3f0ff);box-shadow:inset 0 0 0 .6mm var(--c1)}
.ng{border-collapse:collapse;margin:0 auto}
.ng td{padding:0}.ng-x{width:var(--cs);height:var(--cs);border:.3mm solid #8d96a0;position:relative}
.ng-x.b5{border-right:.7mm solid #555}.ng-x.b5y{border-bottom:.7mm solid #555}.ng-x.giv{background:#555}
.ng-c{font:700 3.4mm Andika,Inter,sans-serif;color:var(--c1);text-align:right;padding-right:1.2mm!important;white-space:nowrap}
.ng-top{vertical-align:bottom;text-align:center;padding:0 0 1mm!important}.ng-top span{display:block;line-height:1.15}
.peek .ng .reveal{display:block;position:absolute;inset:.6mm;background:#c0392b;opacity:.55}
.tw{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;margin:0 auto;max-width:110mm}.tw.tw3{grid-template-columns:repeat(4,1fr)}
.tw-t{border:.45mm solid var(--c1);border-radius:3mm;padding:2.5mm 1mm 1mm;display:flex;flex-direction:column;align-items:center;gap:1mm;background:#fff}
.tw-e{display:flex;flex-wrap:wrap;justify-content:center;font-size:8mm;line-height:1.1;max-width:20mm}.tw3 .tw-e{font-size:6.5mm}
.tw-t>b{font:700 3.5mm Andika,Inter,sans-serif;color:var(--c1)}
.peek .tw-t.reveal-hl{outline:.8mm solid #c0392b;outline-offset:.5mm}
.dmc{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3mm 2mm;max-width:118mm;margin:0 auto}
.dm{width:34mm;height:17.5mm}.dm-j{font:700 5mm Andika,Inter,sans-serif;color:var(--c1)}
