
:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#123b55;background:#f1f8f6;--navy:#073271;--teal:#009d91;--yellow:#ffcc16}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #007a72;outline-offset:4px}[hidden]{display:none!important}.screen{max-width:1050px;margin:auto;padding:14px}.intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.intro strong{font-size:21px;color:var(--navy)}.intro p{margin:5px 0 0;color:#577783;font-size:14px}.badge{font-size:12px;font-weight:800;padding:9px 13px;background:#fff1b9;border-radius:30px;white-space:nowrap}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.panel,.preview{background:#fff;border:1px solid #d6e7e4;border-radius:22px;padding:20px;box-shadow:0 5px 0 #e3eeeb}.panel h2{font-size:18px;margin:0 0 14px;color:var(--navy)}.places{display:grid;gap:8px}.place{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:2px solid #dfebe8;border-radius:14px;padding:11px 13px;font-weight:750}.place span{font-size:27px}.place[aria-pressed=true]{background:#e8f8f0;border-color:var(--teal)}.settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}label{font-size:12px;font-weight:800;color:#577481}select{display:block;width:100%;padding:10px 8px;margin-top:6px;border:1px solid #bed8d1;border-radius:10px;background:#f9fcfb}.wide{grid-column:1/-1}button.primary{background:var(--navy);color:white;border:0;border-radius:12px;padding:12px;font-weight:800;width:100%}.print{width:100%;background:var(--yellow);color:#173956;border:0;border-radius:12px;padding:14px 10px;font-weight:850;box-shadow:0 4px 0 #dbaa00;margin-top:10px}.note{font-size:12px;line-height:1.6;color:#587784;margin:14px 0 0}.steps{margin:17px 0 0;padding:13px 15px;background:#eef8f5;border-radius:13px;font-size:13px;line-height:1.65}.steps strong{color:#007c73}.steps ol{padding-left:19px;margin:5px 0}.preview-top{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:12px}.preview-top h2{font-size:18px;margin:0;color:var(--navy)}.pager{display:flex;align-items:center;gap:8px;font-size:12px}.pager button{background:#f0f8f5;border:1px solid #d5e6df;border-radius:9px;font-size:19px;width:33px;height:33px}.pager button:disabled{opacity:.35;cursor:default}.card-head{position:relative;overflow:hidden;border-radius:15px;background:#073271;color:#fff;padding:15px 19px;margin-bottom:12px}.card-head:after{content:'✦';position:absolute;right:20px;top:-6px;font-size:85px;color:#ffdd60;opacity:.2}.card-head strong{font-size:24px;letter-spacing:-.03em}.card-head p{font-size:12px;margin:5px 0 0;color:#d5efed}.board{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-auto-rows:1fr;gap:8px}.tile{position:relative;min-width:0;min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 6px;border:1px solid #d4e5dd;border-bottom-width:3px;border-radius:13px;background:#f8fcf9;text-align:center}.tile:nth-child(3n+2){background:#fffaf0}.tile:nth-child(3n){background:#f0f7fc}.tile:hover{border-color:#31a69c}.tile .icon{font-size:32px;line-height:1.2}.tile .label{font-size:13px;font-weight:750;line-height:1.3}.tile .swap{position:absolute;right:5px;top:3px;font-size:11px;color:#698b8a}.board.four .tile{min-height:90px}.board.four .label{font-size:12px}.board.text .icon{display:none}.board.text .label{font-size:15px}.legend{font-size:12px;color:#63818a;margin:11px 0 0;line-height:1.5}.status{font-size:13px;margin:12px 0 0;line-height:1.5;color:#00786e;min-height:20px}details{margin-top:18px;background:white;border:1px solid #d6e7e4;border-radius:15px;padding:13px 17px}summary{font-weight:800;font-size:14px;cursor:pointer}details p{font-size:14px;line-height:1.6}.hintbox{background:#fff8dc;border-radius:12px;padding:12px;margin-top:12px;font-size:13px;line-height:1.5}#paper{display:none}@media(max-width:740px){.layout{grid-template-columns:1fr}.panel{padding:16px}.places{grid-template-columns:repeat(3,minmax(0,1fr))}.place{flex-direction:column;gap:4px;padding:8px 3px;font-size:12px}.settings{grid-template-columns:1fr 1fr;margin:12px 0}.wide{grid-column:auto}.steps{display:none}.preview{padding:13px}.intro .badge{display:none}.screen{padding:9px}.tile{min-height:90px}.board.four .tile{min-height:82px}.board.four .icon{font-size:26px}.board.four .label{font-size:11px}.board{gap:5px}.tile{padding:10px 3px}.preview-top{flex-wrap:wrap}.card-head strong{font-size:22px}}
@page{size:A4 portrait;margin:15mm}
@media print{
html,body{margin:0;padding:0;background:#fff;color:#173b45;-webkit-print-color-adjust:exact;print-color-adjust:exact}.screen{display:none!important}#paper{display:block;font-family:Arial,sans-serif}.sheet{width:180mm;height:266mm;padding:5mm 6mm;box-sizing:border-box;break-after:page;position:relative;display:flex;flex-direction:column}.sheet:last-child{break-after:auto}.print-header{position:relative;min-height:35mm;border-top:1.2mm solid #258b7f;border-bottom:.3mm solid #b7d6ce;padding:5mm 0 4mm;margin-bottom:4mm}.print-eyebrow{font-size:8pt;letter-spacing:1.5pt;text-transform:uppercase;color:#287d72;font-weight:700;margin:0 0 2mm}.sheet h1{font-family:Georgia,serif;font-size:32pt;font-weight:normal;letter-spacing:-1pt;line-height:1.05;margin:0;color:#123c47}.sheet h1 em{color:#20897b;font-weight:normal}.print-subtitle{font-size:9pt;color:#607d80;margin:2mm 0 0}.compass{position:absolute;right:0;top:4mm;width:29mm;height:29mm}.identity{display:flex;gap:6mm;margin:0 0 4mm;font-size:9pt;align-items:baseline}.identity span{display:flex;gap:2mm;align-items:baseline;flex:1}.identity span:last-child{flex:0 0 45mm}.identity i{flex:1;border-bottom:.25mm solid #b6c9c5;height:6mm}.mission{display:flex;align-items:center;gap:4mm;background:#eef7f2;border-radius:2mm;padding:3mm 4mm;margin-bottom:5mm;min-height:17mm}.mission strong{font-size:9pt;color:#227f70;min-width:24mm;line-height:1.3}.mission p{margin:0;font-size:9pt;line-height:1.45;color:#385b60}.print-board{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3mm}.cell{position:relative;min-width:0;height:45mm;border:.3mm solid #b3cec6;border-radius:3mm;padding:8mm 3mm 4mm;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3mm;text-align:center;break-inside:avoid;background:#fcfdfb}.cell:nth-child(2n){background:#fffdf7}.cell .icon{font-family:'Noto Emoji',sans-serif;color:#376b63;font-size:29pt;line-height:1.1;display:block}.cell .label{font-size:12pt;font-weight:bold;line-height:1.25;color:#1a424a}.cell .mark{position:absolute;right:3mm;top:3mm;width:5mm;height:5mm;border:.3mm solid #92b6aa;border-radius:50%;background:#fff}.cell .cell-number{position:absolute;top:3.5mm;left:3mm;font-size:7pt;letter-spacing:.6pt;color:#72968e}.print-board.four .cell{height:33mm;gap:2mm;padding:8mm 2mm 3mm}.print-board.four .icon{font-size:23pt}.print-board.four .label{font-size:10pt}.print-board.text .icon{display:none}.print-board.text .label{font-size:13pt;font-weight:600}.discovery{display:flex;gap:4mm;align-items:center;margin-top:5mm;border:.25mm dashed #b7cdc4;border-radius:2mm;padding:3mm 4mm;min-height:19mm}.discovery .spark{font-size:22pt;color:#b1933e}.discovery strong{font-family:Georgia,serif;font-weight:normal;font-size:12pt;color:#315e61}.discovery small{display:block;color:#688580;font-size:8pt;margin:1mm 0}.discovery .discovery-text{flex:1}.discovery .line{border-bottom:.2mm solid #c6d3cb;height:5mm}.print-footer{margin-top:auto;padding-top:4mm;display:flex;justify-content:space-between;align-items:end;gap:8mm;border-bottom:.3mm solid #d0e2d9;padding-bottom:3mm}.print-footer p{font-size:7.5pt;line-height:1.45;margin:0;max-width:125mm;color:#68827d}.print-footer span{font-size:8pt;color:#327f72;white-space:nowrap}.print-footer b{display:block;letter-spacing:.4pt;font-size:8pt;color:#297569;margin-bottom:1mm}}

/* Packaged vector graphics, shared by screen and print. */
.item-art{width:48px;height:48px;display:block;object-fit:contain}.card-head{background-image:url('images/trail.svg');background-position:right center;background-repeat:no-repeat}.board.four .item-art{width:38px;height:38px}
@media print{.cell .item-art{width:14mm;height:14mm}.print-board.four .item-art{width:10mm;height:10mm}.cell .icon{line-height:1}.print-board.text .icon{display:none}}

@media print{
.sheet{padding:3mm 5mm 4mm}.print-header{border:0;padding:0 0 3mm;margin-bottom:3mm;min-height:0}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:4mm;height:22mm}.print-logo{width:64mm;height:24mm;object-fit:contain}.little-tag{font-size:7pt;font-weight:bold;color:#188c86;letter-spacing:.5pt;max-width:55mm;text-align:right}.kids-title{position:relative;display:flex;align-items:center;gap:4mm;border-radius:5mm;background:#fff5c7;padding:3mm 5mm;min-height:23mm}.sheet h1{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;font-size:29pt;font-weight:900;letter-spacing:-.7pt;color:#073271}.sheet h1 em{font-style:normal;font-weight:900;color:#009e96}.happy-sun{width:20mm;height:20mm;margin-left:auto;flex-shrink:0}.print-subtitle{font-size:10pt;font-weight:bold;color:#198c83;margin:3mm 1mm 0}.identity{margin-bottom:3mm;font-size:9pt}.mission{padding:2.5mm 4mm;margin-bottom:4mm;min-height:15mm;background:#e9f8f4;border:0;border-radius:4mm}.mission strong{font-size:9pt;color:#007e77}.mission p{font-size:9pt}.print-board{gap:3mm}.cell{height:41mm;border:.5mm solid #b4e2d7;border-radius:5mm;background:#f3fbf7;padding:7mm 3mm 3mm;gap:2mm}.cell:nth-child(4n+2){background:#fff9e5;border-color:#eddb95}.cell:nth-child(4n+3){background:#eff7ff;border-color:#c3dcee}.cell:nth-child(4n){background:#fff2f3;border-color:#f1cdd2}.cell .mark{width:6mm;height:6mm;border:.4mm solid #85b5a8;right:2.5mm;top:2.5mm}.cell .cell-number{top:3mm;left:3mm;font-size:8pt;font-weight:bold;color:#5f8f8c}.cell .label{font-family:'Trebuchet MS',Arial,sans-serif;font-size:12pt;font-weight:bold}.cell .item-art{width:15mm;height:15mm}.print-board.four .cell{height:30mm;padding:7mm 2mm 2mm;gap:1mm}.print-board.four .item-art{width:11mm;height:11mm}.print-board.four .label{font-size:10pt}.print-board.four .mark{width:5mm;height:5mm}.discovery{min-height:17mm;margin-top:4mm;padding:2mm 4mm;border:.4mm dashed #dfc366;border-radius:4mm;background:#fffcf0}.discovery strong{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:bold;font-size:11pt;color:#073271}.discovery small{font-size:8pt}.print-footer{padding-top:2mm;padding-bottom:1mm;border-bottom:0}.print-footer .website{font-size:12pt;color:#007f79;letter-spacing:.2pt;margin-bottom:1mm}.print-footer p{font-size:7pt}.print-footer span{font-size:8pt;font-weight:bold;color:#073271}}

/* Print 2.2: centred page, stronger colours, symmetric A4 margins. */
@page{size:A4 portrait;margin:15mm}
@media print{
.sheet{margin:0 auto;width:180mm;height:266mm;padding:3mm 5mm 4mm;text-align:center}
.brand-row{justify-content:center;height:24mm;position:relative}
.print-logo{width:68mm;height:25mm}
.little-tag{display:none}
.kids-title{justify-content:center;background:#ffe66b;border:0.5mm solid #f1c735;padding:3mm 4mm}
.sheet h1{font-size:28pt;color:#063477;text-align:center}
.sheet h1 em{color:#008a82}
.happy-sun{width:18mm;height:18mm;margin-left:0}
.print-subtitle{color:#007e78;text-align:center;margin:3mm 0 0}
.identity{justify-content:center;text-align:center;gap:8mm}
.identity span{justify-content:center}
.mission{background:#c9f2df;border:.35mm solid #77ceb3;justify-content:center;text-align:center;gap:3mm}
.mission strong{color:#006e59;min-width:22mm}
.mission p{text-align:center;color:#184c48}
.cell{background:#daf5e8;border-color:#60bea0}
.cell:nth-child(4n+2){background:#fff0b3;border-color:#e4bb3e}
.cell:nth-child(4n+3){background:#dceeff;border-color:#71b0e2}
.cell:nth-child(4n){background:#ffe0e8;border-color:#df8fa7}
.cell .label{color:#123a66}
.cell .mark{border-color:#559b8f;background:#fff}
.cell .cell-number{color:#397b76}
.discovery{justify-content:center;background:#fff1be;border-color:#d9ac2d;text-align:center}
.discovery .spark{display:none}
.discovery .discovery-text{text-align:center}
.discovery small{color:#4b6e6a}
.print-footer{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1mm;text-align:center;padding-top:2mm}
.print-footer p{max-width:none;text-align:center}
.print-footer .website{color:#007f78;font-size:12pt}
.print-footer span{text-align:center;font-size:7pt;color:#376079}
}

/* 2.2.1: :root screen background must not colour the print canvas. */
@media print{
  :root, html, body, #paper, .sheet{
    background:#fff !important;
    background-image:none !important;
  }
}

/* Keep the yellow sun readable against the yellow title banner. */
@media print{
  .happy-sun{
    background:#fff;
    border-radius:50%;
    border:0.3mm solid #f0c94f;
    padding:1mm;
    box-sizing:border-box;
  }
}
