.feature-hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.feature-hero img{width:100%;border-radius:8px;aspect-ratio:16/10;object-fit:cover}.arena{position:relative;overflow:hidden;height:clamp(280px,50vw,450px);background:#142f32;border:1px solid #72958c;border-radius:12px}.arena:fullscreen{height:100vh;width:100vw}.actor{position:absolute;left:0;top:0;width:95px;height:100px;object-fit:contain;will-change:transform}.catch-target{position:absolute;width:110px;height:110px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.catch-target img{width:100%;height:100%;object-fit:contain}.game-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.game-toolbar button,.tool-panel button{cursor:pointer}.scoreboard{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:#e7eeea;border-radius:6px;font-weight:700}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:660px;margin:25px auto}.memory-card{aspect-ratio:1;border:2px solid var(--teal);border-radius:8px;background:var(--teal);color:white;padding:0;cursor:pointer;font-size:2rem;overflow:hidden}.memory-card img{width:100%;height:100%;object-fit:cover;display:none}.memory-card.open img,.memory-card.matched img{display:block}.memory-card.open span,.memory-card.matched span{display:none}.memory-card.matched{border-color:#78a437;opacity:.8}.game-message{min-height:2em;font-weight:700}.mini-art{width:120px;height:130px;object-fit:contain;flex:none}.hairold-says{display:flex;align-items:center;gap:20px;padding:20px;background:#e7eeea;border-radius:10px;margin:30px 0}.boop{position:relative;max-width:320px;margin:auto}.boop img{display:block;width:100%}.boop button{position:absolute;left:36%;top:43%;width:28%;height:24%;border:2px dashed #fff9;background:transparent;border-radius:50%;cursor:pointer;color:transparent}.boop button:focus-visible{color:white;background:#142f3299}.toast{position:fixed;bottom:20px;right:20px;z-index:30;max-width:min(390px,90vw);background:var(--ink);color:white;padding:20px;border:2px solid var(--lime);border-radius:12px;box-shadow:0 10px 40px #0005}.toast img{height:90px;float:left;margin-right:12px}.confetti{position:fixed;pointer-events:none;z-index:40;top:-20px;width:10px;height:14px;animation:fall 1.8s ease-in forwards}@keyframes fall{to{transform:translateY(100vh) rotate(540deg);opacity:0}}.tool-panel input:not([type=checkbox]),.tool-panel select{display:block;max-width:100%;width:100%;padding:10px;min-height:44px;font:inherit;border:1px solid var(--muted)}.tool-panel output{display:block;background:#e7eeea;padding:20px;margin:20px 0;white-space:pre-line}.check-progress{font-weight:800}.checklist label{padding:10px 0;border-bottom:1px solid var(--line)}.schedule-row{display:grid;grid-template-columns:110px 1fr;gap:12px;margin:10px 0}.gallery-button{padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-button img{width:100%;height:250px;object-fit:cover;border-radius:6px}.gallery-dialog{max-width:95vw;max-height:95vh;padding:15px;border:0;background:var(--cream)}.gallery-dialog::backdrop{background:#071f20d9}.gallery-dialog img{display:block;max-width:85vw;max-height:75vh;object-fit:contain}.peek{display:block;width:150px;margin:0 auto -1px}.search-results{display:grid;gap:15px;margin-top:25px}.search-results a{display:block;padding:20px;background:white;border:1px solid var(--line)}.search-results small{display:block;color:var(--muted)}.date-event{border-left:4px solid var(--teal);padding:20px;margin:20px 0}.date-event img{width:100%;max-height:400px;object-fit:cover}.explore-bar{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:25px}.local-note{font-size:14px;color:var(--muted)}@media(max-width:700px){.feature-hero{grid-template-columns:1fr}.memory-grid{gap:7px}.hairold-says{gap:10px;padding:12px}.mini-art{width:85px;height:100px}.schedule-row{grid-template-columns:100px 1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{header,.footer,.game-toolbar,.explore-bar,.no-print,.page-hero,.btn{display:none!important}body{background:white;color:black;font-size:12pt}.section,.article{padding:10px}.tool-panel{border:0;max-width:none;padding:0}.wrap{max-width:none;padding:0}input,textarea{border:1px solid #aaa!important}a{color:black}.checklist label{break-inside:avoid}}
.split>img{display:block;width:100%;height:auto;border-radius:8px}video{max-width:100%}button{touch-action:manipulation}button:disabled{cursor:default;opacity:.65}@media(min-width:901px) and (max-width:1150px){.top{flex-wrap:wrap}nav{flex-wrap:wrap}}.tool-panel h2{font-size:2rem}
/* Keep game and tool controls near the first screen on phones. */
.work-surface .page-hero{padding:28px 0}.work-surface .page-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin-bottom:12px}.work-surface .page-hero p{font-size:1rem;margin-bottom:0}.work-surface>.section{padding-top:24px}.work-surface .eyebrow{margin-bottom:8px}.work-surface .arena{height:clamp(230px,35vw,380px)}.game-toolbar .btn{min-height:44px}.gallery-dialog .game-toolbar{margin-top:0}.gallery-dialog #photo-caption{margin:12px 0 0;max-width:70ch}.print-value{display:none}.schedule-row{grid-template-columns:110px minmax(0,1fr) auto;align-items:center}.schedule-row label{min-width:0}.schedule-row .remove-row{min-height:44px;padding:8px;border:1px solid var(--line);background:white;font:inherit;cursor:pointer}.article li{margin-bottom:10px}.toc{padding:20px;background:#e7eeea}.toc a{display:block;padding:5px 0}.review-note{font-size:14px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{min-width:0}.form-grid textarea{min-height:110px}.form-grid .wide{grid-column:1/-1}.print-header{display:none}
@media(max-width:600px){.work-surface .page-hero{padding:22px 0}.work-surface .page-hero h1{font-size:2rem}.work-surface .section{padding-bottom:35px}.scoreboard{font-size:14px;padding:12px}.schedule-row{grid-template-columns:95px minmax(0,1fr)}.schedule-row .remove-row{grid-column:2;justify-self:end}.form-grid{grid-template-columns:1fr}.gallery-dialog img{max-width:100%;max-height:65vh}.gallery-dialog .game-toolbar{gap:8px}}
@media print{.work-surface .page-hero{display:block!important;padding:0;color:black;background:white}.work-surface .page-hero .eyebrow,.work-surface .page-hero p{display:none}.work-surface .page-hero h1{font-size:22pt}.print-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid #ddd;padding:5px 0;min-height:1em}.print-replaced{display:none!important}.schedule-row{grid-template-columns:100px 1fr;break-inside:avoid}.remove-row,.toast,.confetti{display:none!important}.form-grid{display:block}.form-grid label{break-inside:avoid}.print-header{display:block}.card{break-inside:avoid}.tool-panel output{background:white;border:1px solid #999}.work-surface .section{padding:12px 0}.work-surface .page-hero+.section> .wrap>p{margin:8px 0}}
.toc{display:block!important}.toc a{display:block;font-size:16px}.split>img,.date-event img,.story-photo img,.photo-grid img{height:auto}.gallery-button img{height:250px}.photo-grid figure img{aspect-ratio:4/3;object-fit:cover}.gallery-dialog img{width:auto;height:auto}.feature-hero img{height:auto}.source-note{font-size:14px}
/* Original framed illustrations avoid destructive fur masks and colour fringes. */
.boop img{border-radius:22px}.mini-art,.toast img{border-radius:50%;object-fit:cover}.actor{border-radius:50%;object-fit:cover;object-position:50% 30%;height:95px}.catch-target img{border-radius:50%;object-fit:cover}.peek{border-radius:24px 24px 0 0}.media.photo img{object-fit:contain!important;background:#e7eeea}.hero .media.photo{aspect-ratio:4/3}.card.photo-card .card-cover img{object-fit:contain;background:#e7eeea}.photo-grid figure img,.date-event img,.story-photo img{object-fit:contain;height:auto;max-height:none;aspect-ratio:auto}.gallery-button{width:100%}.gallery-button img{width:100%;height:auto}.date-event img{max-width:780px}.feature-hero img{object-fit:contain}
.daily-archive{width:150px;height:auto;border-radius:10px}.earned{border:2px solid var(--teal);background:#e7eeea}.reflex-pad{display:block;width:100%;min-height:220px;border:3px solid var(--ink);border-radius:14px;background:var(--ink);color:white;font:800 2rem system-ui;cursor:pointer}.reflex-pad.ready{background:var(--lime);color:var(--ink)}.says-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:600px;margin-bottom:18px}.says-grid button{min-height:115px;font:800 1.5rem system-ui;border:3px solid var(--teal);background:white;color:var(--ink);border-radius:12px;cursor:pointer}.says-grid button:disabled{opacity:1}.says-grid button.lit{background:var(--lime);border:6px solid var(--ink)}#log-details summary,#log-details details summary{padding:16px 0;cursor:pointer;font-weight:700}#log-recap{display:grid;gap:12px}#log-recap .note{break-inside:avoid}#log-recap p{overflow-wrap:anywhere}.tool-panel{scroll-margin-top:20px}@media(max-width:600px){.daily-archive{width:90px}.says-grid button{min-height:95px}.reflex-pad{min-height:190px}}
img{max-width:100%;height:auto}
@media print{#log-details{display:block}#log-details>summary{display:none}#log-details:not([open])>*:not(summary){display:block}.reflex-pad,.says-grid{display:none}}
/* V10: visible activity surfaces, extending the established teal/lime identity. */
.quick-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:8px 16px;background:#e7ee80;color:#142f32}.quick-nav a{font-size:14px;font-weight:750;padding:8px 0;text-underline-offset:4px;min-height:40px}.launchpad{background:#e7eeea}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 36px}.activity-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:26px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);text-decoration:none;border-radius:8px}.activity-card:hover{border-color:var(--teal);box-shadow:0 5px 14px #142f3210}.activity-card h3{font-size:1.45rem;margin:4px 0}.activity-card p{font-size:16px;color:var(--muted);margin-bottom:12px}.activity-card strong{margin-top:auto;font-size:15px}.activity-card[hidden]{display:none}.arcade-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:center}.arcade-feature img{width:100%;height:auto;border-radius:12px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.filter-row [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.play-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:32px}.play-main{min-width:0}.play-aside{background:#e7eeea;border-radius:12px;padding:24px;align-self:start}.play-aside a{display:block;padding:10px 0;font-weight:700}.play-board{display:grid;grid-template-columns:repeat(var(--board-size,3),minmax(0,1fr));gap:7px;max-width:490px;margin:22px 0;aspect-ratio:1}.play-board button{min-width:0;min-height:44px;border:2px solid var(--teal);background:#fff;border-radius:6px;color:var(--ink);font:800 1.5rem system-ui;padding:0;cursor:pointer}.play-board button:disabled{opacity:1}.board-grid button{background:var(--ink);color:white;font-size:1rem}.board-grid button.gold{background:var(--lime);color:var(--ink)}.board-puzzle button span{display:inline-block;background:#142f32e8;color:#fff;padding:2px 9px;border-radius:4px;font-size:1rem}.board-puzzle button:disabled:empty{background:#e7eeea;border-style:dashed}.board-ttt button{font-size:3rem}.board-words{display:none}.letter-rack{font-size:clamp(1.4rem,5vw,2.5rem);font-weight:800;letter-spacing:.12em;padding:20px;background:var(--lime);overflow-wrap:anywhere}.play-main select,.play-main input,#log-month{display:block;max-width:100%;min-height:44px;padding:10px;font:inherit;border:1px solid var(--muted);margin:10px 0 18px}.planner{max-width:900px}.planner-section{border:1px solid var(--line);background:white;margin:24px 0;padding:24px;min-width:0;border-radius:8px}.planner-section legend{font-size:1.3rem;font-weight:800;padding:0 10px}.planner-section label{display:block;font-weight:650;margin:14px 0}.planner-section input:not([type=checkbox]),.planner-section textarea,.planner-section select{display:block;width:100%;min-width:0;min-height:44px;padding:10px;font:inherit;border:1px solid var(--muted);margin-top:8px}.planner-section textarea{resize:vertical}.planner-section input[type=checkbox]{width:22px;height:22px;vertical-align:middle;accent-color:var(--teal);margin-right:8px}.planner-section .include-section{font-size:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.packing-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.packing-row label{overflow-wrap:anywhere}.packing-row button{flex:none}.print-only{display:none}#dashboard-log,#dashboard-summary,#planner-output{overflow-wrap:anywhere}.activity-grid>*{min-width:0}
@media(max-width:1000px){nav{flex-wrap:wrap}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.play-layout,.arcade-feature{grid-template-columns:1fr}.arcade-feature img{max-height:240px;object-fit:cover}.activity-grid{grid-template-columns:1fr 1fr;gap:12px}.activity-card{padding:18px}.activity-card h3{font-size:1.2rem}.activity-card .eyebrow{font-size:12px;letter-spacing:.07em}.play-aside{margin-top:5px}.planner-section{padding:16px}.section.launchpad{padding-top:34px;padding-bottom:24px}.play-board{width:100%}.play-layout{gap:20px}}
@media(max-width:380px){.activity-grid{grid-template-columns:1fr}.quick-nav{gap:2px 13px}.packing-row{align-items:start}.packing-row button{padding:8px;font-size:13px}.game-toolbar .btn{padding:10px 12px}.hairold-says{flex-wrap:wrap}}
@media print{.quick-nav,.filter-row,.play-board,.play-aside,.activity-grid,.arcade-feature{display:none!important}.printing-planner main>*{display:none!important}.printing-planner main>.work-surface{display:block!important}.printing-planner .work-surface>.page-hero{display:none!important}.printing-planner .planner>*,.printing-planner .planner~*{display:none!important}.printing-planner .planner>#planner-output{display:block!important}.printing-planner #planner-output p{white-space:pre-wrap;break-inside:avoid}.printing-planner #planner-output h1{font-size:22pt}.printing-planner #planner-output h2{font-size:16pt;margin-top:20px}.printing-planner #planner-output h3{font-size:12pt;margin-bottom:4px}.printing-planner .section{padding:0}.printing-planner .skip{display:none!important}}
.play-board:empty{display:none}.planner legend{max-width:100%;overflow-wrap:anywhere}.quick-nav a:focus-visible{outline-offset:2px}.play-main label{display:block;font-weight:700}.play-board button:focus-visible{outline:3px solid #b45500;outline-offset:2px;z-index:1}.board-words~.game-toolbar{margin-top:16px}@media(max-width:600px){.hero h1{overflow-wrap:normal}.top{gap:14px}.activity-card p{font-size:15px}.page-hero h1{overflow-wrap:anywhere}}
#log-print-output{display:none}@media print{body.printing-log>*{display:none!important}body.printing-log>#log-print-output{display:block!important}#log-print-output h1{font-size:22pt;line-height:1.2}#log-print-output article{break-inside:avoid;margin:16px 0}#log-print-output button{display:block!important;background:none;border:0;padding:0;font-size:12pt}#log-print-output p{white-space:pre-wrap;overflow-wrap:anywhere}}
/* Soft-launch: real-photo interaction, consistent frames, no fur masks. */
.reflex-portrait{position:relative;max-width:640px;background:var(--ink);border:4px solid var(--ink);border-radius:14px;overflow:hidden;margin:18px 0}.reflex-portrait>img{display:block;width:100%;height:auto}.reflex-portrait .nose-target{position:absolute;left:30%;top:32%;width:19%;height:23%;min-height:56px;min-width:56px;border:3px solid white;border-radius:50%;background:#142f321a;font-size:0;color:transparent;cursor:pointer}.reflex-portrait .nose-target.ready{background:#e7ee8022;border:5px solid var(--lime);box-shadow:0 0 0 5px #142f32aa}.reflex-portrait .nose-target:active{transform:scale(.96)}.reflex-portrait .nose-target:focus-visible{outline:4px solid #ed9c42;outline-offset:4px}.boop button{left:30%;top:32%;width:19%;height:23%;min-width:48px;min-height:48px}.boop img{border:3px solid var(--ink);border-radius:12px}.actor,.catch-target img{object-fit:cover;object-position:38% 42%;border:3px solid var(--lime)}.play-aside h2{font-size:1.6rem}.activity-card{overflow-wrap:anywhere}.section .grid>*{min-width:0}.tool-panel{width:100%}.article h2{line-height:1.2}input,select,textarea{max-width:100%}@media(max-width:430px){.section-head h2{font-size:2rem}.actions .btn{max-width:100%;white-space:normal}.card{padding:22px}.photo-grid{gap:20px}.reflex-portrait .nose-target{left:29%;top:30%}}@media(prefers-reduced-motion:reduce){.reflex-portrait .nose-target:active{transform:none}}
.v11-arena{position:relative;width:100%;max-width:520px;margin:22px 0;border-radius:12px;background:#e7eeea;border:2px solid var(--teal);overflow:hidden}.v11-arena:empty{display:none}.v11-arena.logic{aspect-ratio:1}.leash-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.leash-handle{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;background:var(--ink);color:white;border:3px solid var(--lime);border-radius:50%;font:800 18px system-ui;cursor:grab;touch-action:none}.leash-handle:focus-visible{outline:3px solid #c76508;outline-offset:2px;z-index:2}.v11-arena.tower{height:330px;background:var(--ink)}.tower-layer{position:absolute;height:25px;background:#e7ee80;color:var(--ink);border-radius:3px;font:700 13px/25px system-ui;text-align:center;white-space:nowrap;overflow:hidden}.tower-layer.moving{background:#fff}.v11-arena.detective{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.v11-arena.detective:empty{display:none}.v11-arena.detective h2{grid-column:1/-1;font-size:1.4rem;line-height:1.3}.v11-arena.detective button{min-height:56px}#tower-controls{display:flex;gap:10px;flex-wrap:wrap}#tower-controls[hidden]{display:none}#v11-game select{display:block;padding:10px;font:inherit;max-width:100%;min-height:44px;margin:8px 0}.table-scroll{overflow-x:auto;max-width:100%}.table-scroll table{border-collapse:collapse;width:100%;font-size:16px}.table-scroll th,.table-scroll td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.cost-extra{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.cost-extra .btn{margin-top:12px}@media(max-width:375px){.v11-arena.detective{padding:14px;gap:8px}.v11-arena.detective .btn{padding:10px;font-size:14px}}@media print{.v11-arena,#tower-controls{display:none!important}.printing-cost body{background:white}.printing-cost main>*,.printing-cost .footer,.printing-cost header,.printing-cost .quick-nav{display:none!important}.printing-cost main>section:has(#cost-printout){display:block!important}.printing-cost section:has(#cost-printout)>.wrap>*{display:none!important}.printing-cost #cost-printout{display:block!important}.printing-cost #cost-printout h1{font-size:22pt}.printing-cost #cost-printout table{font-size:11pt;width:100%;border-collapse:collapse}.printing-cost #cost-printout td,.printing-cost #cost-printout th{padding:6px;border-bottom:1px solid #ccc;text-align:left}}
/* Public polish: clear personal-form controls and uncropped family photographs. */
#dog-profile input,#dog-profile textarea,#dog-profile select{display:block;width:100%;min-width:0;min-height:46px;background:#fff;color:var(--ink);border:1px solid #607775;border-radius:5px;padding:11px 12px;font:inherit;margin-top:7px}#dog-profile label{display:block;margin:18px 0;font-weight:650}#dog-profile input:focus-visible,#dog-profile textarea:focus-visible,#dog-profile select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.homecoming-photo{margin:0;max-width:460px;justify-self:center;width:100%}.homecoming-photo img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.homecoming-photo figcaption{font-size:14px;color:var(--muted);padding-top:12px}.photo-grid img[src*="hairold-first-day"],.photo-grid img[src*="hairold-family"]{height:auto;max-height:520px;object-fit:contain;background:#edf2ef}.date-event img[src*="hairold-first-day"]{display:block;width:min(100%,420px);height:auto;max-height:none;object-fit:contain;border-radius:10px}.activity-card h3{line-height:1.2}.activity-card{display:flex;flex-direction:column}.activity-card>strong{margin-top:auto;padding-top:12px}@media(min-width:381px) and (max-width:480px){.activity-grid{grid-template-columns:1fr}.activity-card{padding:22px}}@media(max-width:600px){#dog-profile input,#dog-profile textarea,#dog-profile select{font-size:16px}.homecoming-photo{max-width:380px}}
/* Local logs and the goal preview extend the existing tool and arcade surfaces. */
.puzzle-reference{max-width:490px;margin:12px 0 20px}.puzzle-reference summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:700}.puzzle-reference img{display:block;width:min(100%,260px);height:auto;margin:12px 0}.puzzle-reference p{font-size:1rem}.activity-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#activity-entries p,#log-recap p,#care-recap-preview{overflow-wrap:anywhere}#activity-cancel[hidden]{display:none}#activity-log:has(#activity-cancel:not([hidden])){border-left:5px solid var(--teal)}[data-state=dirty]{font-weight:700}[data-state=error]{font-weight:700;color:#8c2f16}@media(max-width:700px){.activity-filters .form-grid{grid-template-columns:1fr}}
#care-recap-preview{white-space:pre-wrap;background:var(--cream);padding:22px;border:1px solid var(--line);max-height:540px;overflow:auto}#care-recap input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin-right:8px}#care-print-output{display:none}@media print{body.printing-care>*{display:none!important}body.printing-care>#care-print-output{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;font:12pt/1.5 system-ui}body.printing-log #log-print-output .grid{display:block}body.printing-log #log-print-output .card{min-height:0;margin-bottom:16px}}
