/* SUNNY BUBU reference: white space, warm taupe #b0a395, cocoa #7a6861.
   Keep the original crayon art and use one neutral treatment for every choice. */
:root{--paper:#ffffff;--cream:#ffffff;--ink:#2e2c2a;--muted:#655e58;--orange:#5d4c43;--orange-light:#f1ece6;--sage:#efebe6;--line:#d8d1c8;--danger:#5d4c43;--cocoa:#5d4c43;--cocoa-dark:#302b27;--taupe:#a49486;--milk:#f6f4f1;--selected:#e8e1d9;--soft-text:#645c55}
body{background:var(--paper);color:var(--ink)}
.brand-ribbon{background:var(--taupe);color:#3e3028;text-align:center;font-size:11px;line-height:1.8;padding:8px 20px;letter-spacing:2px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.brand{color:var(--cocoa);letter-spacing:1.5px}.brand-mark{border-color:var(--taupe);color:var(--cocoa);background:var(--milk)}.brand-en{color:var(--soft-text)}.site-header>.text-button{color:var(--soft-text)}
.j-home .home-grid{background:var(--milk);margin:24px 32px 0;padding:34px 34px 22px;border-radius:10px;gap:30px;border:1px solid #f0e9e2}
.j-side-note{display:none}.home-copy h1{color:var(--cocoa-dark)}.home-copy h1 em{color:var(--cocoa)}.home-copy h1 em:after{background:#dbc8b84d;height:10px}
.eyebrow,.intro,.j-side-note,.start-note,.pill,.j-home-foot{color:var(--soft-text)}.eyebrow:before{background:var(--taupe)}.pill{border-color:#d8cbbf}
.primary{background:var(--cocoa);border-color:var(--cocoa);color:#fff;border-radius:5px;box-shadow:none}.primary:hover{background:var(--cocoa-dark);border-color:var(--cocoa-dark);transform:none}
.secondary,.small-button{border-color:#c9b9ab;background:#fff;color:var(--cocoa-dark);border-radius:5px}.secondary:hover,.small-button:hover{background:var(--sage);border-color:var(--cocoa)}
.text-button{color:var(--cocoa-dark)}.j-scene .scene-tag,.game-grid .scene-tag{color:var(--cocoa);background:#ffffffd9;border-bottom:1px solid #d8cbbf}.j-scene .scene-tag span{color:var(--soft-text)}.j-scene .scene-caption,.scene-caption small{color:var(--soft-text)}
.breed-selector{border-color:var(--line);border-top-style:solid;margin-top:30px}.breed-selector h2{color:var(--cocoa-dark)}.breed-selector h2>span,.breed-selector-head p{color:var(--soft-text)}
.breed-card{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:none;transform:none}.breed-card:nth-child(even){transform:none}.breed-card:hover{background:var(--milk);border-color:var(--taupe)}.breed-card.is-selected{background:var(--sage);border:1.5px solid var(--cocoa);box-shadow:0 3px 12px #7a68610c}.breed-card b{color:var(--cocoa-dark)}.breed-card small,.breed-kana{color:var(--soft-text)}.breed-dot{border-color:var(--taupe)}.is-selected .breed-dot{background:var(--cocoa);border-color:var(--cocoa)}
.breed-research{border-color:var(--line);border-top-style:solid}.research-label,.breed-research p b{color:var(--cocoa)}.breed-research p span,.breed-research small,.research-context,.breed-research .bank-progress{color:var(--soft-text)}
.game-top,.chapter,.chapter strong,.question h1,.age-display b,.review h2{color:var(--cocoa-dark)}.question-category,.timer,.timer.urgent,.timer-ring,.answer-note,.answer-note .text-button,.dog-thought,.dog-status span,.game-bottom{color:var(--soft-text)}
.question-text{color:var(--ink)}.progress i{background:#eee7e0}.progress .done{background:#b0a395}.progress .current{background:var(--cocoa)}
.dog-status span{border-color:var(--line)}.option{background:#fff;border:1px solid #d8ccc1;border-radius:6px;color:var(--ink)}.option:not(:disabled):hover{background:var(--milk);border-color:var(--taupe)}.option.selected{background:var(--selected);border-color:var(--cocoa);color:var(--cocoa-dark)}.option-letter{color:var(--cocoa);border-color:#ded2c7}
.life-moment{border-color:var(--line);color:var(--soft-text)}.moment-label,.life-moment .feedback-next small{color:var(--soft-text)}
.resume-note{background:var(--sage);border:1px solid #d5c6b9}.resume-note p{color:var(--ink)}
.result-top h1{color:var(--cocoa-dark)}.result-top p,.result-story,.result-disclaimer{color:var(--soft-text)}.result-stat b,.lifespan,.unfinished-life{color:var(--cocoa)}
.memory-card{background:#fff;border-color:#d8cbbf;box-shadow:5px 7px 0 #eee7df}.memory-card:before{background:repeating-linear-gradient(90deg,#c4ae9499 0 3px,#ddcbb766 3px 5px)}.memory-top,.memory-footer,.memory-number,.memory-event summary small{color:var(--soft-text)}.memory-event{border-color:var(--line);border-bottom-style:solid}.memory-event summary b{color:var(--cocoa-dark)}.memory-line p{color:var(--ink)}.memory-line>span,.memory-open,.memory-body>.text-button{color:var(--cocoa)}
.result-welcome{border-color:#dacabd}.result-welcome>span,.result-welcome p,.real-care-note,.result-welcome .unfinished-life{color:var(--soft-text)}.real-care-note{border-color:var(--taupe)}
.early-ending,.replay-invite{background:var(--sage);border:1px solid #dacabd;border-radius:7px}.early-ending p,.replay-invite p{color:var(--ink)}.early-ending b,.early-ending strong,.replay-invite h2{color:var(--cocoa-dark)}
.learning-notes{border-color:var(--line)}.learning-notes>p,.learning-grid small{color:var(--soft-text)}.learning-grid article{background:var(--milk);border-color:var(--line);border-radius:7px}.learning-grid h3{color:var(--cocoa-dark)}.learning-grid p{color:var(--ink)}.round-change{background:var(--sage);border-color:var(--taupe)}
.journey-entry{background:var(--milk);border-color:var(--line);border-radius:7px}.journey-entry small,.journey-entry span,.journal-privacy,.journal-empty,.pause-retry p{color:var(--soft-text)}.pause-retry{border-color:var(--line)}
dialog{background:#fff;border-color:var(--line);border-radius:8px;box-shadow:0 14px 70px #51443e25}dialog::backdrop{background:#51443e70}.dialog-head{background:#fff;border-color:var(--line);color:var(--cocoa-dark)}.dialog-intro,.about-p,.source-card p,.source-card .source-limit{color:var(--ink)}.source-card{border-color:var(--line);background:var(--milk)}.source-card h3{color:var(--cocoa-dark)}.source-type,.source-meta,.source-link{color:var(--cocoa)}.source-link{text-decoration:underline;text-underline-offset:4px}
.age-plan .pool-group{border-color:var(--line)}.pool-group>small,.age-plan b{color:var(--soft-text)}.shared-label{background:var(--sage);border-color:#d5c6b9;color:var(--cocoa-dark)}
.site-footer{color:var(--soft-text);border-color:var(--line);border-top-style:solid}#toast{background:var(--cocoa-dark);color:#fff}button:focus-visible,a:focus-visible{outline-color:var(--cocoa)}
@media(max-width:1100px){.j-home .home-grid{margin-left:24px;margin-right:24px;padding:28px 26px 20px;gap:14px}}
@media(max-width:700px){.brand-ribbon{font-size:10px;padding:6px 15px;letter-spacing:1px}.j-home .home-grid{margin:14px 14px 0;padding:7px 18px 20px;gap:0}.home-copy h1{font-size:42px}.breed-selector{margin-top:25px}.question-text,.option{font-size:13px}.j-scene .scene-tag{background:#ffffffd9}.question-top,.game-top{background:var(--paper)}.site-header .brand{font-size:20px}}
/* Refined edition: clear reading contrast, restrained surfaces and consistent type. */
.brand-ribbon{background:var(--cocoa-dark);color:#fff;font-size:11px;padding:7px 20px;letter-spacing:1.5px}
.brand{font-family:'Segoe UI','Microsoft JhengHei',sans-serif;font-size:22px;font-weight:600;letter-spacing:.5px}.brand-en{letter-spacing:1.2px;font-size:9px}.site-header>.text-button{font-size:12px}
.j-home .home-grid{background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-top:20px;padding-top:15px;padding-bottom:30px;gap:50px}
.home-copy h1,.question h1,.result-top h1{font-family:'Segoe UI','Microsoft JhengHei',sans-serif;font-weight:500;letter-spacing:1px}.home-copy h1{font-size:54px;line-height:1.4;margin:20px 0 24px}.home-copy h1 em:after{display:none}.home-copy h1 em{color:var(--cocoa-dark)}
.intro{font-size:14px;line-height:2;letter-spacing:.3px}.eyebrow{font-size:10px;letter-spacing:1.6px}.start-note{font-size:11px;line-height:1.9}.pill{font-size:11px;letter-spacing:.2px}.primary{font-weight:500;border-radius:4px;letter-spacing:.4px}.home-copy .primary{font-size:14px;min-height:52px}.choose-character{display:block;font-size:12px;margin-top:10px;text-decoration:underline;text-underline-offset:5px}
.j-scene{background:var(--milk);border-radius:4px;min-height:440px}.j-scene .scene-tag{transform:none;top:18px;left:20px;padding:9px 12px;font-family:inherit;font-size:12px;letter-spacing:.5px}.j-scene .scene-caption{transform:none;right:20px;bottom:15px;font-size:12px}.scene-caption small{font-size:10px}
.breed-selector h2,.research-label,.chapter,.review h2,.memory-event summary b,.replay-invite h2,.learning-notes h2,.result-welcome h2,.dialog-head h2{font-family:'Segoe UI','Microsoft JhengHei',sans-serif;font-weight:500;letter-spacing:.3px}.breed-selector h2{font-size:21px}.breed-selector-head p{font-size:12px}.breed-card b{font-family:inherit;font-weight:500}.breed-card small{font-size:10px}.breed-kana{font-size:9px}.breed-card,.breed-card.is-selected,.learning-grid article,.journey-entry{box-shadow:none;border-radius:4px}.breed-card.is-selected{border:1.5px solid var(--cocoa)}
.breed-research p span,.breed-research small{font-size:12px}.breed-research .text-button{font-size:12px}.j-home-foot,.site-footer{font-size:11px;letter-spacing:.2px}.site-footer .text-button{font-size:11px}
.question h1{font-size:29px;line-height:1.5}.question-text{font-size:15px;line-height:2}.option{font-size:14px;line-height:1.85;border-radius:4px}.question-category,.timer,.answer-note,.answer-note .text-button,.game-bottom{font-size:12px;letter-spacing:.2px}.dog-status{flex-wrap:wrap;gap:8px}.dog-status span{font-size:11px;line-height:1.7}.dog-thought{font-size:14px}
.memory-card{transform:none;box-shadow:none;border-radius:4px}.memory-card:before{display:none}.memory-top,.memory-footer{font-size:12px}.result-story{font-size:14px}.result-disclaimer{font-size:12px}.memory-event summary b{font-size:16px}.memory-event summary small{font-size:12px}.memory-line>span{font-size:12px}.early-ending,.replay-invite{border-radius:4px}.source-type,.source-meta{font-size:12px}
.appearance-picker{margin-top:24px;padding:24px 0 20px;border-top:1px solid var(--line)}.appearance-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.appearance-heading h3{font-size:17px;font-weight:500;line-height:1.6;margin:0;color:var(--cocoa-dark)}.appearance-heading p,.appearance-caption{font-size:12px;line-height:1.9;color:var(--soft-text);margin:0}.appearance-caption{margin-top:13px}
.appearance-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.appearance-card{position:relative;min-width:0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px 8px;text-align:center;transition:border-color .15s,background .15s}.appearance-card:hover{background:var(--milk);border-color:var(--taupe)}.appearance-card.is-selected{border:1.5px solid var(--cocoa);background:var(--milk)}.appearance-portrait{display:block;max-width:105px;height:105px;margin:0 auto 8px}.appearance-portrait svg{width:100%;height:100%;display:block}.appearance-card b{font-size:13px;line-height:1.7;font-weight:500;display:block}.appearance-card small{display:block;font-size:10px;line-height:1.8;color:var(--soft-text);margin-top:5px}.appearance-check{position:absolute;top:6px;right:8px;font-size:12px;color:var(--cocoa)}
@media(max-width:1100px){.j-home .home-grid{gap:28px}.home-copy h1{font-size:46px}.j-scene{min-height:360px}.breed-card small{font-size:9px}.appearance-options{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.brand-ribbon{font-size:10px;letter-spacing:1px}.site-header .brand{font-size:18px}.j-home .home-grid{margin:14px 20px 0;padding:0 0 24px;gap:22px}.j-scene{min-height:270px;width:100%;max-width:none}.j-scene .scene-tag{font-size:10px;top:10px;left:10px}.j-scene .scene-caption{font-size:11px;right:12px;bottom:10px}.scene-caption small{font-size:9px}.home-copy h1{font-size:39px;line-height:1.4;margin:13px 0 20px}.home-copy .eyebrow{font-size:9px;letter-spacing:1px}.intro{font-size:13px;line-height:1.95}.pill{font-size:10px}.start-note{font-size:10px;line-height:1.85}.home-copy .primary{font-size:13px}.breed-selector{margin-left:20px;margin-right:20px}.breed-selector h2{font-size:18px;line-height:1.7}.breed-selector-head p{font-size:11px}.breed-card b{font-size:15px}.breed-card small{font-size:9px;white-space:normal;line-height:1.7}.breed-kana{font-size:8px}.breed-research p span,.breed-research small{font-size:11px}.breed-research .text-button{font-size:12px}.appearance-heading{display:block;margin-bottom:14px}.appearance-heading h3{font-size:16px}.appearance-heading p{font-size:11px;margin-top:6px}.appearance-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appearance-card{padding:10px 5px}.appearance-portrait{height:83px;margin-bottom:5px}.appearance-card b{font-size:12px}.appearance-card small{font-size:9px}.appearance-caption{font-size:11px}.j-home-foot{margin-left:20px;margin-right:20px;font-size:10px}.j-home-foot .text-button{font-size:11px}.question h1{font-size:25px}.question-text,.option{font-size:14px}.question-category,.timer,.answer-note,.answer-note .text-button,.game-bottom{font-size:11px}.dog-status{gap:5px}.dog-status span{font-size:10px}.memory-top,.memory-footer,.result-disclaimer{font-size:11px}.memory-event summary b{font-size:14px}.memory-event summary small,.memory-line>span{font-size:11px}.site-footer,.site-footer .text-button{font-size:10px}}
.brand-group{display:flex;align-items:center;gap:18px}.publisher-link{display:block;padding-right:18px;border-right:1px solid var(--line)}.publisher-logo{display:block;width:55px;height:60px;object-fit:contain}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:7px;color:var(--soft-text)}.footer-maker{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.6;font-size:11px;letter-spacing:.5px;color:var(--cocoa-dark)}.footer-maker img{object-fit:contain;display:block}
.growth-preview{margin:20px 0 0;padding:24px 0;border-top:1px solid var(--line)}.growth-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.growth-options figure{margin:0;background:var(--milk);border:1px solid #e9e3dc;border-radius:4px;padding:18px 20px}.growth-portrait{height:185px;display:flex;align-items:flex-end;justify-content:center;margin:0 auto 15px;max-width:210px}.growth-portrait .crayon-portrait{height:100%;width:100%}.growth-options [data-stage=puppy] .crayon-portrait{height:80%;width:80%}.growth-options [data-stage=senior] .crayon-portrait{height:98%;width:98%}.growth-options figcaption{display:grid;grid-template-columns:28px 1fr;gap:7px 10px;align-items:center;border-top:1px solid var(--line);padding-top:14px}.growth-options figcaption>span{font-size:11px;color:var(--soft-text)}.growth-options b{font-size:15px;font-weight:500}.growth-options small{font-size:12px;line-height:1.8;color:var(--soft-text);grid-column:2}.final-stage{font-size:12px;color:var(--soft-text);letter-spacing:1px;margin:10px 0 16px}
@media(max-width:700px){.brand-group{gap:12px}.publisher-link{padding-right:12px}.publisher-logo{width:39px;height:43px}.site-header .brand{font-size:17px;letter-spacing:.1px}.brand small{font-size:8px;letter-spacing:.1px;margin-top:5px}.site-header>.text-button{font-size:10px;letter-spacing:0}.brand-ribbon{font-size:9px}.site-footer{flex-wrap:wrap;gap:12px}.site-footer>span{flex-basis:100%;order:3}.footer-maker{font-size:10px;gap:8px}.footer-maker img{width:32px;height:35px}.growth-preview{padding:20px 0}.growth-options{gap:7px}.growth-options figure{padding:10px 7px}.growth-portrait{height:100px;margin-bottom:12px}.growth-options figcaption{grid-template-columns:1fr;gap:5px;padding-top:10px;text-align:center}.growth-options figcaption>span{font-size:9px}.growth-options b{font-size:12px;white-space:nowrap}.growth-options small{font-size:10px;grid-column:1;line-height:1.8}.final-stage{font-size:11px}}
