/* makekite printable activities. Sheets are drawn by static/activities.js. */
.act-sheet{background:#fff;border:1px solid #d6e7f2;border-radius:10px;padding:20px;margin:16px 0;color:#123452}
.act-title{margin:0 0 4px;text-align:center;font-size:1.6rem;letter-spacing:-.02em}
.act-sub{margin:0 0 14px;text-align:center;color:#4a6a82}
.act-warn{color:#9c3d33;font-size:.9rem}.act-seed{text-align:center;color:#6b8196;font-size:.8rem;margin:10px 0 0}
#act-ctl{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;background:#eaf5fc;border-radius:10px;padding:14px 16px;margin:14px 0}
#act-ctl label{display:flex;flex-direction:column;gap:3px;font-size:.85rem;font-weight:700;min-width:0}
#act-ctl label.inl{flex-direction:row;align-items:center;gap:6px}
#act-ctl label.wide{flex:1 1 100%}#act-ctl textarea{width:100%;font:inherit;padding:6px 8px;border:1px solid #b8d4e6;border-radius:6px}
#act-ctl select,#act-ctl input[type=text],#act-ctl input[type=number],#act-ctl input[type=date]{font:inherit;padding:6px 8px;border:1px solid #b8d4e6;border-radius:6px;max-width:100%}
.act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:12px 0 30px}
.act-tile{display:block;background:#fff;border:1px solid #d6e7f2;border-top:5px solid var(--accent,#3ca9e8);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit}
.act-tile:hover{box-shadow:0 8px 24px rgba(18,52,82,.08);transform:translateY(-2px)}
.act-tile strong{display:block;font-size:1.05rem;color:#123452}.act-tile span{display:block;font-size:.85rem;color:#4a6a82;line-height:1.4;margin-top:4px}
.act-tile i{font-style:normal;font-size:1.6rem;display:block;margin-bottom:4px}
.act-holtable{border-collapse:collapse;width:100%;max-width:640px}.act-holtable th,.act-holtable td{border:1px solid #d6e7f2;padding:6px 10px;text-align:left}.act-holtable th{background:#eaf5fc}

/* word search */
.ws{display:grid;grid-template-columns:repeat(var(--n),1fr);width:min(100%,520px);margin:0 auto;border:2px solid #123452;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700}
.ws div{aspect-ratio:1;display:grid;place-items:center;font-size:clamp(10px,calc(440px / var(--n) * .6),22px);line-height:1}
.ws.key .hit{background:#ffd45e;border-radius:50%}
.ws-words{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5em,1fr));gap:4px 14px;padding:0;margin:16px 0 0;font-weight:700;font-size:.95rem}
.ws-words li:before{content:"\2610  "}
/* maze */
.mz{display:block;width:min(100%,560px);margin:0 auto}.mz .sol{stroke:#e5484d;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
/* sudoku */
.sdk-wrap{text-align:center}
.sdk{border-collapse:collapse;margin:0 auto;font-weight:700;font-variant-numeric:tabular-nums}
.sdk td{width:var(--cs,42px);height:var(--cs,42px);text-align:center;font-size:calc(var(--cs,42px)*.55);border:1px solid #9ab7cb;padding:0;color:#123452}
.sdk9{--cs:42px}.sdk6{--cs:54px}.sdk4{--cs:68px}
.sdk td.l{border-left:3px solid #123452}.sdk td.t{border-top:3px solid #123452}.sdk td.r{border-right:3px solid #123452}.sdk td.b{border-bottom:3px solid #123452}
.sdk td.a{color:#0b6aa8;font-weight:600}
@media(max-width:480px){.sdk9{--cs:34px}.sdk6{--cs:44px}.sdk4{--cs:56px}}
/* bingo */
.bgrid{display:grid;gap:14px}.b1{grid-template-columns:1fr}.b2{grid-template-columns:1fr}.b4{grid-template-columns:1fr 1fr}.b6{grid-template-columns:1fr 1fr}
.bc{border-collapse:collapse;width:100%;table-layout:fixed;text-align:center;font-weight:800}
.bc th{background:#123452;color:#fff;font-size:1.3rem;padding:4px}.bc td{border:2px solid #123452;padding:0;height:3.2em;font-size:1.05rem;word-break:break-word}
.bc-n90 td{height:3em;font-size:1.3rem}.bc td.free{background:#ffd45e;font-size:.9rem}.bc td.bbl{background:#eaf5fc}
.b1 .bc td{height:4.4em;font-size:1.5rem}.b2 .bc td{height:3em}
.cl{border-collapse:collapse;margin:0 auto;width:100%}.cl td{border:1px solid #9ab7cb;text-align:center;padding:8px 2px;font-weight:700}
.bpage{break-after:page}.bpage:last-child{break-after:auto}
/* certificates */
.cert{aspect-ratio:297/210;border:10px solid var(--c1);outline:3px solid var(--c2);outline-offset:-18px;background:#fff;display:flex;text-align:center}
.cert-navy{--c1:#123452;--c2:#e2b93b}.cert-coral{--c1:#ff6b61;--c2:#87d7f7}.cert-green{--c1:#1f7a52;--c2:#9bd6b6}.cert-mono{--c1:#222;--c2:#222}
.cert-in{margin:auto;width:84%;display:flex;flex-direction:column;align-items:center;gap:4px}
.cert-kite{height:56px;width:auto;flex:none}
.cert h2{margin:6px 0 0;font-size:clamp(1.4rem,4.6vw,2.6rem);color:var(--c1);letter-spacing:-.02em}
.cert-p{margin:4px 0;font-size:clamp(.8rem,1.7vw,1.1rem)}
.cert-name{margin:6px 0;font-size:clamp(1.6rem,5.4vw,3.2rem);font-weight:800;border-bottom:2px solid var(--c2);padding:0 1.2em .1em;min-width:60%}
.cert-foot{display:flex;justify-content:space-between;width:100%;margin-top:clamp(10px,4%,34px);gap:30px}
.cert-foot div{flex:1;border-top:2px solid #123452;padding-top:4px}.cert-foot span{display:block;min-height:1.2em;font-weight:700}.cert-foot i{font-size:.8rem;color:#4a6a82;font-style:normal}
/* sticker and reward charts */
.st-name{margin:0 0 12px;font-size:1.05rem}.ln{display:inline-block;min-width:11em;border-bottom:1.5px solid #123452;height:1.2em;vertical-align:bottom}
.st-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;justify-items:center;margin:10px auto 20px;max-width:560px}
.st{width:100%;aspect-ratio:1;max-width:96px;border:3px solid #123452;display:grid;place-items:center;color:#9ab7cb;font-weight:700}
.st-circle{border-radius:50%}.st-square{border-radius:10px}
.st-star{border:0;background:none;position:relative}.st-star:before{content:"";position:absolute;inset:0;background:#123452;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.st-star:after{content:"";position:absolute;inset:5%;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.st-star span{position:relative;z-index:1}
.st-reward{font-size:1.1rem;text-align:center;margin-top:18px}
.wk{width:100%;border-collapse:collapse}.wk th{background:#eaf5fc;padding:6px;border:1.5px solid #123452}.wk td{border:1.5px solid #123452;height:3.4em;text-align:center}.wk-task{text-align:left!important;font-weight:700;padding:0 8px;width:30%}
.mk{display:inline-block;width:1.7em;height:1.7em;border:2px solid #123452}.mk-circle{border-radius:50%}.mk-box{border-radius:4px;width:1.3em;height:1.3em}
/* calendars */
.cal-year{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}
.cal{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.8rem}.cal caption{font-weight:800;font-size:1rem;text-align:left;padding:2px 0;color:#123452}
.cal th{font-size:.7rem;color:#4a6a82;border-bottom:1.5px solid #123452;padding:2px 0}.cal td{text-align:center;padding:3px 0;border:1px solid #edf5fa;height:1.7em}
.cal td.we{background:#f4fafd}.cal td.hol{background:#ff6b61;color:#fff;border-radius:4px;font-weight:800}.cal td.no{background:none;border-color:transparent}
.cal-big{font-size:1rem}.cal-big caption{text-align:center;font-size:1.7rem;padding:4px 0 10px}.cal-big td{height:5.2em;text-align:left;vertical-align:top;border:1.5px solid #123452;padding:3px 6px;border-radius:0}
.cal-big td b{font-size:1.1rem}.cal-big td small{display:block;font-size:.62rem;line-height:1.15;font-weight:700;margin-top:2px}.cal-big td.hol{background:#ffe6e3;color:#9c3d33}.cal-big td.we{background:#f4fafd}.cal-big td.no{border-color:#edf5fa;background:#fafcfe}
.cal-leg{list-style:none;columns:3;gap:14px;margin:14px 0 0;padding:0;font-size:.78rem}.cal-leg li{break-inside:avoid;margin:1px 0}
.cal-page{margin-bottom:12px}
@media(max-width:700px){.cal-year{grid-template-columns:repeat(2,1fr)}.cal-leg{columns:1}.cal-big td{height:3.4em}.cal-big td small{display:none}.cert{font-size:.8rem}.b4,.b6{grid-template-columns:1fr}}
/* print */
@media print{
 .act-sheet{border:0;padding:0;margin:0;border-radius:0}
 .ws{width:170mm;border-width:.5mm}.ws div{font-size:calc(150mm / var(--n) * .62)}
 .ws-words{font-size:11pt}.mz{width:175mm}
 .sdk9{--cs:15mm}.sdk6{--cs:22mm}.sdk4{--cs:30mm}
 .bgrid{gap:6mm}.bn90{grid-template-columns:1fr!important}.b1 .bc td{height:26mm}.b2 .bc td{height:17mm}.b4 .bc td{height:17mm;font-size:10pt}.b6 .bc td{height:11mm;font-size:9pt}.bc th{font-size:12pt;padding:2mm}.bc-n90 td{height:14mm}.cl td{padding:5mm 0;font-size:13pt}
 .bpage{break-inside:avoid}
 .cert{aspect-ratio:auto;box-sizing:border-box;width:100%;height:170mm;border-width:3mm;outline-offset:-6mm;break-inside:avoid}
 .cert-kite{height:17mm}.st-grid{max-width:none;gap:8mm}.st{max-width:30mm}
 .wk td{height:15mm}
 .cal-year{gap:3mm 7mm}.cal-leg{columns:3;font-size:8pt;margin-top:3mm}.cal td{height:6mm;padding:0}.cal caption{font-size:11pt}.act-title{font-size:1.3rem}
 .cal-page{break-after:page;margin:0}.cal-page:last-child{break-after:auto}
 .cal-big td{height:23mm}.cal-big{height:155mm}
 #act-ctl{display:none}
}
/* kites */
.pk{display:block;width:min(100%,440px);margin:0 auto}.pk-note{margin-top:8px}.pk-bows{display:block;width:min(100%,560px);margin:6px 0}
.pk-steps h3{margin:14px 0 4px}.pk-steps li{margin:3px 0}.pk-safe{border:2px solid #ff6b61;border-radius:8px;padding:8px 12px}
.kc{display:block;width:min(100%,520px);margin:0 auto}
.kh-text p{line-height:1.55}.kh-q li{margin:10px 0}.kh-q p{margin:0 0 4px}.kh-line{display:block;border-bottom:1.5px solid #9ab7cb;height:1.8em}
.kh-ans{color:#c0392b;font-weight:700}.kh-draw{border:2px dashed #123452;border-radius:8px;min-height:16em;padding:10px;margin-top:14px}
.kl-wind,.kl-log{width:100%;border-collapse:collapse;margin:10px 0}.kl-wind th,.kl-wind td,.kl-log th,.kl-log td{border:1.5px solid #123452;padding:4px 6px;text-align:left;vertical-align:top;font-size:.9rem}
.kl-wind th,.kl-log th{background:#eaf5fc}.kl-log td{height:2.6em}.kl-w,.kl-s{white-space:nowrap;text-align:center!important;letter-spacing:.15em}
.kl-safe ul{list-style:none;padding:0;columns:2;gap:20px}.kl-safe li{break-inside:avoid;margin:3px 0}.kl-safe li:before{content:"\2610  "}
@media(max-width:600px){.kl-safe ul{columns:1}.kl-log th,.kl-log td{font-size:.75rem;padding:2px}}
@media print{.pk{width:170mm;height:250mm}.pk-note{display:none}.pk-bows{width:150mm}.pk-steps{font-size:10.5pt}.pk-steps h3{margin:8px 0 2px}.pk-steps li{margin:1px 0}.kc{width:180mm}.kh-draw{min-height:60mm}.kh-q li{break-inside:avoid}.kl-log td{height:11mm}.kc-page h2{margin-top:0}}
.kite-pin{margin:14px 0;text-align:center}.kite-pin img{width:min(100%,300px);height:auto;border-radius:10px;box-shadow:0 6px 20px rgba(18,52,82,.15)}.kite-pin figcaption{font-size:.85rem;color:#4a6a82;margin-top:6px}
