/* Quiet park palette: warm paper, forest ink, and restrained brass accents. */
:root{
 --paper:#f3f2ec;--cream:#fcfbf7;--ink:#293b35;--muted:#637069;
 --soft-text:#637069;--line:#d9dfd5;--cocoa:#345a4b;--cocoa-dark:#243e34;
 --taupe:#87988a;--milk:#edf0e7;--sage:#e8eee3;--sand:#f0f1e9;
 --selected:#e6eee5;--pixel-shadow:#dce3d8;--accent:#a57b3d;
 --surface-shadow:0 8px 28px #263e2e08;--button-shadow:0 3px 8px #263e2e12;
}
body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
.brand-ribbon{background:var(--cocoa-dark);color:#f8f5e9;font-size:10px;letter-spacing:2px;padding:9px 16px}
.site-header{max-width:1120px;height:96px;background:transparent;border-bottom:1px solid var(--line);padding:0 32px}
.brand{color:var(--cocoa-dark)}.brand small{color:var(--soft-text);letter-spacing:.8px}
.publisher-link{border-color:var(--line)}
.guide-shortcuts,.language-bar{max-width:1120px;background:transparent;border:0;padding-left:32px;padding-right:32px}
.guide-shortcuts{padding-top:14px;padding-bottom:0;gap:10px}
.language-bar{padding-top:8px;padding-bottom:5px}
.site-tools{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:16px;max-width:1120px;margin:0 auto;padding:14px 32px 4px}
.site-tools .guide-shortcuts,.site-tools .language-bar{margin:0;padding:0;max-width:none}
#app{border:0;background:transparent;max-width:1120px}
.compact-home{max-width:1000px;padding:20px 32px 28px;background:transparent;box-shadow:none}
.park-surroundings{opacity:.44;inset:260px 0 0}
.garden-edge{filter:saturate(.65)}
.dog-park{background:var(--cream);border:1px solid #d7dfd1;border-radius:20px;box-shadow:var(--surface-shadow);padding:32px 30px;gap:24px;margin-bottom:28px}
.park-kicker{color:#756341;font-size:10px;letter-spacing:2px}.park-paw{color:var(--accent)}
.park-copy h1{color:var(--cocoa-dark);text-shadow:none}
.park-intro{color:var(--soft-text);line-height:1.9}
.park-picked{color:var(--cocoa);line-height:1.8}
.park-world{border:0;border-radius:12px;background:linear-gradient(180deg,#f3f5eb 0 26%,#dde6ce 26% 45%,#cddbb9 45% 72%,#becfa7 72%);box-shadow:inset 0 -1px #9cae84}
.park-caption{border-radius:0 0 12px 12px;background:#dbe5cc;color:#485d42;font-size:10px;letter-spacing:.4px;padding:4px 6px;bottom:0}
.park-sun{background:#c6a86c;box-shadow:4px 0 #dfc99b,-4px 0 #dfc99b,0 4px #dfc99b,0 -4px #dfc99b}
.park-dog{border-radius:8px}.park-dog[aria-pressed="true"]{background:#fffdf4cf;border-color:var(--cocoa);box-shadow:0 2px 6px #304a3420}
.park-dog[aria-pressed="true"]:after{background:var(--cocoa);border-radius:4px}

/* Primary actions, secondary actions, and quiet source links. */
.primary,.secondary,.small-button,.icon-button,.park-choose,.guide-button{
 border-width:1px;border-radius:10px;box-shadow:none;min-height:44px;
 transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
 font-weight:650;letter-spacing:.3px;touch-action:manipulation;
}
.primary,.park-choose{background:var(--cocoa);border-color:var(--cocoa);color:#fffdf5;box-shadow:var(--button-shadow);padding:12px 22px}
.primary:hover,.park-choose:hover{background:#284b3c;border-color:#284b3c;box-shadow:0 5px 12px #263e2e19;transform:none}
.primary:active,.park-choose:active{background:#213f33;transform:none;box-shadow:inset 0 2px 3px #142b3920}
.secondary,.small-button,.guide-button,.icon-button{background:var(--cream);border-color:#bbc8b9;color:var(--cocoa-dark)}
.secondary:hover,.small-button:hover,.guide-button:hover,.icon-button:hover{background:#eaf0e5;border-color:#81977f;box-shadow:var(--button-shadow);transform:none}
.secondary:active,.small-button:active,.guide-button:active,.icon-button:active{background:#e1eadd;transform:none;box-shadow:none}
.primary:disabled,.secondary:disabled{background:#e2e6df;color:#6a746a;border-color:#d3d9cf;opacity:1;box-shadow:none;cursor:default;transform:none}
.guide-button{font-size:12px;padding:8px 14px}
.text-button,.source-link{color:var(--cocoa);text-underline-offset:4px;text-decoration-thickness:1px}
.text-button:hover,.source-link:hover{color:#203f31}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8b713f;outline-offset:4px}
.language-bar select,.breed-dropdown select,.guide-toolbar select{
 border:1px solid #a8b7a5;border-radius:10px;background-color:var(--cream);color:var(--ink);
 box-shadow:0 1px 2px #283c2c05;min-height:44px;
}
.breed-dropdown select{padding:15px 16px;font-size:16px;line-height:1.6}
.compact-home .breed-dropdown label{font-size:15px;margin-bottom:10px;color:var(--cocoa-dark)}
.chosen-breed{border:1px solid var(--line);border-radius:12px;background:var(--cream);overflow:hidden}
.chosen-breed>summary{padding:13px 16px;min-height:52px}
.chosen-breed>summary span:last-child{font-size:12px;text-decoration:none;padding:4px 9px;border-radius:6px;background:var(--sage)}
.compact-home>.compact-appearances{border-top:0;padding-top:8px;margin:10px 0 16px}
.compact-home .appearance-options{gap:10px;padding:4px 3px 9px}
.compact-home .appearance-card{border:1px solid var(--line);border-radius:10px;background:var(--cream);box-shadow:none}
.compact-home .appearance-card.is-selected{border:1px solid var(--cocoa);padding:5px 3px;background:var(--selected);box-shadow:0 0 0 1px var(--cocoa)}
.compact-home .appearance-card:hover{background:var(--sage);border-color:#8da387;transform:none}
.selected-overview{background:var(--cream);border:1px solid var(--line);border-radius:16px;box-shadow:var(--surface-shadow);padding:24px;gap:28px}
.compact-care h2{font-size:18px;margin-bottom:8px;color:var(--cocoa-dark)}
.compact-care .care-topics{color:var(--soft-text);line-height:1.9}
.temperament-summary{border-color:var(--line);margin-top:16px;padding-top:14px}
.temperament-summary h3{font-size:14px;color:var(--cocoa-dark);margin-bottom:10px}
.temperament-traits{gap:7px}.temperament-traits li{background:var(--sage);border:0;border-radius:6px;color:#40543e;padding:5px 9px}
.care-longevity{border-color:var(--line)}
.compact-care .text-button{min-height:44px}
.home-start{margin-top:24px;max-width:480px}.home-start .primary{min-height:54px;font-size:15px}
.pill{background:transparent;border:0;border-right:1px solid var(--line);color:var(--soft-text);border-radius:0;box-shadow:none}.pill:last-child{border-right:0}
.home-start .start-note{color:var(--soft-text);line-height:1.9}
.home-utilities{border-color:var(--line);padding-top:20px;margin-top:28px}
.resume-note{border:1px solid var(--line);border-radius:12px;background:var(--sage)}

/* The story and answers remain the focus, with identical colors for all choices. */
.game-shell,.result-shell,.story-shell{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:26px 32px;box-shadow:var(--surface-shadow);margin:18px auto}
.question-top,.game-top{background:transparent}
.game-top{padding-bottom:16px;border-bottom:1px solid var(--line)}
.chapter,.chapter strong{color:var(--cocoa-dark)}
.progress{gap:4px}.progress i{background:#e3e8df;border-radius:3px}.progress .done{background:#99b197}.progress .current{background:var(--cocoa)}
.timer-ring{background:var(--sage);border:0;border-radius:7px}
.question .scenario-label{color:#756341;letter-spacing:1px;font-size:12px;margin-top:18px}
.question-text{color:var(--ink);line-height:1.85}
.options{gap:12px}.option.has-choice-image{border:1px solid #b9c6b5;border-radius:12px;background:#fffefa;color:var(--ink);box-shadow:0 2px 4px #203b2b04;padding:15px 16px;min-height:80px;transition:background .16s,border-color .16s,box-shadow .16s}
.option.has-choice-image:not(:disabled):hover{background:#f0f4eb;border-color:#6e8a69;transform:none;box-shadow:0 3px 10px #2c4a2f0a}
.option.has-choice-image:active{background:#e9f0e2}
.option.has-choice-image.selected{background:var(--selected);border-color:var(--cocoa)}
.option.has-choice-image .choice-picture{background:#eff1e7;border:0;border-radius:9px;box-shadow:inset 0 0 0 1px #dfe5d7}
.option-letter{background:transparent;border:0;color:#6a7d67;font-size:11px}
.story-question .story-visual{padding:6px;border:1px solid #cbd5c0;border-radius:12px;background:#eaf0e0;overflow:hidden}
.dog-interaction-controls{gap:8px;padding-top:10px}
.dog-interaction-controls button{min-height:44px;padding:8px 12px;border:1px solid #bfccba;border-radius:8px;background:var(--cream);color:var(--cocoa);font-size:12px}
.dog-interaction-controls button:hover{background:var(--sage);border-color:#879e7e}
.story-scene-picture{border-radius:7px}
.story-question .dog-details{padding:16px 0}.age-display b{color:var(--cocoa-dark)}
.dog-status span{background:var(--sage);border:0;border-radius:5px;color:#51664c}
.procedure-estimate{border:1px solid #d9d6bd;border-radius:10px;background:#f6f3e8}
.answer-note{border-color:var(--line)}
.memory-card{border:1px solid #bfcab6;border-radius:14px;background:var(--cream);box-shadow:var(--surface-shadow);transform:none}
.memory-event{border-color:var(--line)}
.result-image-first>.journey-cost,.cost-size,.aftercare-plan{border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.reward-ticket{border:1px solid #9cae92;border-radius:12px;box-shadow:0 6px 16px #324a2510;overflow:hidden;background:var(--cream)}
.reward-ticket.is-unlocked{border-color:#708b65;background:var(--cream)}
.reward-ticket.is-locked{border-color:var(--line);box-shadow:none;background:var(--sand)}
.reward-gift-tag{border:0;border-radius:5px;background:var(--sage);color:var(--cocoa)}
dialog,dialog.guide-dialog{border:1px solid #bac6b2;border-radius:18px;background:var(--cream);box-shadow:0 24px 80px #172c2840}
dialog::backdrop{background:#1c302b80;backdrop-filter:blur(4px)}
.dialog-head,.guide-dialog .dialog-head,.guide-nav{background:var(--cream);border-color:var(--line)}
.knowledge-card{border:1px solid #c6d1be;border-radius:12px;box-shadow:none;background:var(--cream)}
.knowledge-illustration{border:0;border-radius:10px;background:var(--sage)}
.site-footer{background:transparent;border:0;box-shadow:none;color:var(--soft-text)}
@media(max-width:700px){
 .brand-ribbon{font-size:9px;letter-spacing:1.2px;padding:7px 12px}
 .site-header{height:82px;padding:0 18px}.site-header .brand{font-size:17px}.brand small{font-size:8px;letter-spacing:0}
 .guide-shortcuts{padding:12px 18px 0;justify-content:center;gap:8px}.guide-button{min-height:44px;padding:8px 12px;font-size:11px}
 .language-bar{padding:6px 18px 0}.language-bar select{min-height:40px}
 .site-tools{padding:12px 18px 0;gap:8px;flex-wrap:wrap;justify-content:space-between}
 .site-tools .guide-shortcuts{gap:6px}.site-tools .guide-button{padding:8px 9px}
 .site-tools .language-bar{margin-left:auto}.site-tools .language-bar label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .site-tools .language-bar select{min-height:44px;width:108px;padding-right:6px}
 .compact-home{padding:16px 16px 22px}
 .dog-park{border-radius:16px;padding:22px 16px 14px;gap:18px;margin-bottom:22px;box-shadow:var(--surface-shadow)}
 .park-intro{font-size:12px}.park-choose{min-height:44px;padding:10px 18px;font-size:12px}
 .park-world{min-height:190px;padding-bottom:32px;border-radius:10px}.park-caption{font-size:9px;border-radius:0 0 10px 10px;line-height:1.6}
 .compact-home .breed-dropdown select{min-height:52px;font-size:16px;padding:12px}
 .selected-overview{grid-template-columns:1fr;padding:16px;gap:14px;border-radius:12px}
 .compact-dog{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;padding:0 0 12px;border-bottom:1px solid var(--line)}
 .compact-dog .scene{width:76px;max-width:76px;height:65px;margin:0}.compact-dog figcaption{font-size:12px;text-align:left}
 .compact-care h2{font-size:15px}.compact-care .care-topics{font-size:12px}
 .care-longevity{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px}.care-longevity small{width:100%}.care-longevity b{font-size:17px}
 .temperament-summary{margin-top:12px;padding-top:12px}.temperament-summary h3{font-size:13px}.temperament-summary p{font-size:12px}
 .home-start{margin-top:20px}.home-start .primary{min-height:54px}
 .game-shell,.result-shell,.story-shell{margin:12px 10px;padding:18px 16px;border-radius:14px}
 .game-top{padding-bottom:12px}.game-controls{gap:10px}.game-controls .text-button{min-height:44px}
 .option.has-choice-image{min-height:76px;padding:12px;gap:12px;border-radius:10px;font-size:14px;line-height:1.7}
 .question-text{font-size:16px}.question .scenario-label{margin-top:12px}
 .site-footer{width:calc(100% - 36px);margin-top:16px}
 dialog,dialog.guide-dialog{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.primary,.secondary,.small-button,.icon-button,.park-choose,.guide-button,.option.has-choice-image{transition:none}}
