@font-face{font-family:'Companion Title';font-style:normal;font-weight:900;font-display:swap;src:url('./assets/fonts/cat-title-black.ttf') format('truetype')}
:root{color-scheme:light;--paper:#f6f2eb;--card:#fffdf9;--ink:#3d3029;--muted:#786b60;--line:#e4d9cd;--accent:#936047;--dark:#513b30;--milk:#f3e9de;--sage:#e7e9dc;--shadow:0 12px 40px #50362607}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'Segoe UI','Microsoft JhengHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--dark);text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,.button,select{border:1px solid #cdb9a6;border-radius:10px;min-height:44px;padding:10px 16px;background:var(--card)}button,.button{cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #966448;outline-offset:3px}.primary{background:var(--accent);color:var(--card);font-weight:650;border-color:var(--accent);border-radius:12px;padding:12px 22px;box-shadow:0 3px 8px #58352413;line-height:1.6}.text-button,.quiet{background:transparent;border:0;box-shadow:none;color:var(--dark);padding:8px;font-size:12px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.muted{color:var(--muted)}
.brand-ribbon{background:var(--milk);color:var(--dark);font-size:10px;letter-spacing:.12em;text-align:center;padding:9px 16px;line-height:18px}.site-header,.site-tools,main,footer{max-width:1120px;margin:auto;position:relative;z-index:1}.site-header{height:96px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand-group{display:flex;gap:18px;align-items:center}.publisher-link{padding-right:18px;border-right:1px solid var(--line);display:block}.publisher-link img{display:block;width:55px;height:60px;object-fit:contain}.brand{font-family:'Companion Title','Microsoft JhengHei',sans-serif;font-weight:900;font-size:22px;color:var(--dark);line-height:1.5}.brand small{display:block;font-family:'Microsoft JhengHei',sans-serif;font-size:10px;font-weight:400;letter-spacing:.5px;color:var(--muted);margin-top:8px}.site-header>.text-button{font-size:11px}.site-tools{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:14px 32px 4px}.site-tools nav{display:flex;gap:10px}.site-tools button{font-size:12px;font-weight:650;line-height:18px;padding:8px 14px}.species-switch{display:flex;gap:0!important;border:1px solid #cdb9a6;border-radius:10px;overflow:hidden;background:var(--card);flex-shrink:0}.species-switch a,.species-switch span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;font-size:12px}.species-switch [aria-current]{background:var(--accent);color:var(--card)}main{padding:0}.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.home-shell{max-width:1000px;margin:auto;padding:20px 32px 28px}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.8;color:var(--muted)}
.park-surroundings{display:none;pointer-events:none;user-select:none}.hero{display:grid;grid-template-columns:.85fr 1.45fr;align-items:center;gap:24px;padding:32px 30px;margin-bottom:28px}.hero-copy{min-width:0}.hero-copy .eyebrow{color:#756341;margin:0 0 8px;font-weight:700}.hero h1{font-family:'Companion Title','Microsoft JhengHei',sans-serif;font-size:46px;font-weight:900;line-height:1.3;letter-spacing:.035em;margin:8px 0 6px;color:#49392a}.hero .park-intro{font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0 16px}.park-picked{font-size:11px;line-height:1.8;color:var(--accent);margin:0 0 8px}.hero .button{font-size:12px}.cat-park{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:18px 15px 30px;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-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;align-items:end;justify-items:center;position:relative;z-index:1}.park-cat{width:100%;max-width:112px;min-height:44px;height:80px;padding:0 12px;background:transparent;border:1px solid transparent;border-radius:8px}.cat-portrait{display:block;width:100%;height:100%;image-rendering:pixelated;overflow:hidden}.park-cat[aria-pressed=true]{background:#fffdf4cf;border-color:var(--accent)}.cat-park>p{position:absolute;left:0;right:0;bottom:0;text-align:center;background:#dbe5cc;color:#485d42;padding:7px;margin:0;font-size:10px;letter-spacing:.4px}.park-sun{position:absolute;right:17px;top:4px;width:24px;height:24px;background:#c6a86c;box-shadow:4px 0 #dfc99b,-4px 0 #dfc99b,0 4px #dfc99b,0 -4px #dfc99b}.park-cloud{position:absolute;left:23%;top:13px;width:37px;height:7px;background:#fffaf0;box-shadow:8px -6px #fffaf0,18px -10px #fffaf0;opacity:.85}
@supports(background-clip:text){.hero h1{background:repeating-linear-gradient(-34deg,#49392a 0 2.5px,#9d8e72 2.5px 3.05px,#49392a 3.05px 6.5px);background-clip:text;-webkit-background-clip:text;color:transparent}}
.selection{scroll-margin-top:20px}.breed-picker{margin:0 0 20px}.breed-picker>summary{display:none}.breed-picker.has-selection{padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.breed-picker.has-selection>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;min-height:28px}.breed-picker.has-selection[open] .select-row{margin-top:16px}.change-breed{background:var(--sage);color:var(--accent);padding:5px 9px;border-radius:6px;font-size:11px;white-space:nowrap}.select-row label{display:block;font-size:15px;font-weight:650;color:var(--dark);margin-bottom:10px}.select-row select{font-family:'Microsoft JhengHei',sans-serif;display:block;width:100%;min-width:0;padding:15px 16px;font-size:16px;border-color:#c8b59a;background:var(--card);height:55px}.registry-note,.choose-hint{font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0 18px}.appearance-picker{margin:24px 0 20px}.appearance-picker>p{font-size:12px;margin:0 0 10px;color:var(--dark)}.appearance-picker>small{font-size:11px;color:var(--muted);line-height:1.8}.coat-options{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}.coat-options button{width:70px;height:76px;border-color:var(--line);padding:4px 7px 6px;font-size:11px;position:relative}.coat-options .cat-portrait{height:48px}.coat-options button[aria-pressed=true]{border:2px solid var(--accent);background:#f4e6d9;padding:3px 6px 5px}.coat-options button[aria-pressed=true]:after{content:'✓';position:absolute;right:3px;top:1px;font-size:11px;color:var(--accent)}
.breed-card{padding:24px}.breed-card-top{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(260px,1.3fr) auto;gap:16px;align-items:center;padding:0 0 20px;border-bottom:1px solid var(--line)}.breed-card-top h3{font-size:16px;line-height:1.6;margin:0;font-weight:600;overflow-wrap:anywhere}.start-actions .primary{font-size:14px;display:flex;gap:20px;align-items:center;justify-content:center;min-height:48px;max-width:330px}.dock-label{display:none}.breed-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding-top:22px;align-items:start}.portrait-column{margin:0;padding-top:10px;text-align:center}.chosen-cat{width:100%;height:220px}.portrait-label{font-size:12px;color:var(--accent);margin:8px 0;line-height:1.6}.art-status{font-size:11px;color:var(--muted);line-height:1.6}.age-tabs{display:flex;gap:6px;justify-content:center;margin-top:15px}.age-tabs button{font-size:11px;padding:6px 10px;min-height:36px;border-color:var(--line);border-radius:8px}.age-tabs [aria-pressed=true]{background:var(--milk);border-color:#c8ab90}.breed-info details{border-bottom:1px solid var(--line);padding:12px 0}.breed-info details:first-child{padding-top:0}.breed-info details:last-child{border:0}.breed-info summary{font-size:15px;font-weight:650;min-height:44px}.breed-info p{font-size:14px;line-height:1.9;color:var(--muted);margin:10px 0 18px}.breed-info small{font-size:12px;color:var(--muted);line-height:1.8}.breed-info a{font-size:12px}.fold-body{padding-top:6px}.source-links{display:grid;gap:10px;margin-bottom:12px}.breed-info .focus{color:var(--dark);font-size:13px}.breed-info details:last-child summary{font-size:13px;font-weight:400}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;line-height:1.6}summary::-webkit-details-marker{display:none}summary:after{content:'＋';font-size:16px;font-weight:400;color:var(--muted)}details[open]>summary:after{content:'−'}.breed-picker>summary:after{display:none}.pace{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin:18px 0}.pace legend{font-size:14px;color:var(--dark);padding:0 6px}.pace label{display:flex;gap:7px;align-items:center;min-height:44px;font-size:14px;cursor:pointer}.pace input{accent-color:var(--accent);width:18px;height:18px;margin:0}.breed-card-top .pace{margin:0;padding:4px 12px;gap:0 14px}.breed-card-top .pace label{font-size:13px;min-height:38px}.journey-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);line-height:1.8;margin:22px 0 10px}.journey-meta span{border-inline:1px solid var(--line);padding-inline:10px}.start-note{text-align:center;font-size:11px;color:var(--muted);line-height:1.9}.resume-note{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:18px 20px;margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--milk)}.resume-note b{font-size:15px}.resume-note p{font-size:12px;color:var(--muted);margin-bottom:0}.resume-note button{font-size:13px}
body[data-screen=play] .brand-ribbon,body[data-screen=play] .site-tools,body[data-screen=play] footer{display:none}body[data-screen=play] .site-header{height:64px}body[data-screen=play] .brand small{display:none}.play-panel{margin-top:18px;padding:26px 32px}.play-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;min-height:63px}.play-top h2{font-size:20px;color:var(--dark);margin:0 0 5px;line-height:1.4}.play-top p{font-size:12px;color:var(--muted);margin:0}.play-top button{font-size:11px}.life-chapters{display:flex;gap:8px;margin:16px 0 20px}.life-chapters>span{flex:1;min-width:0;color:var(--muted)}.life-chapters i{display:block;height:3px;background:var(--line);border-radius:3px;margin-bottom:6px}.life-chapters .done i{background:#a6ad91}.life-chapters .current i{background:#af7755}.life-chapters small{font-size:11px}.life-chapters .current small{font-weight:650;color:var(--dark)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:36px;align-items:start}.story-visual{background:#f3ebdd;border:1px solid #ded4c3;border-radius:14px;overflow:hidden}.scene{display:block;width:100%;height:auto;image-rendering:pixelated}.age-display{text-align:center;margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.6;letter-spacing:.8px}.age-display b{display:block;font-size:31px;color:var(--dark);margin:7px 0;font-weight:700}.scene-caption{text-align:center;font-size:11px;line-height:1.6;color:var(--muted);margin:20px 0}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:12px;min-height:26px}#clock{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.question{font-size:20px;line-height:1.85;font-weight:500;letter-spacing:.01em;margin:12px 0 20px}.situation{display:block;font-size:12px;color:var(--muted);font-weight:400;margin:0 0 2px}.options{display:grid;gap:11px}.option{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;align-items:center;text-align:left;width:100%;border:1px solid #d9cbbb;border-radius:12px;padding:14px;gap:14px;min-height:78px;font-size:16px;line-height:1.7;background:var(--card);box-shadow:0 2px 5px #573b2204}.choice-picture{width:64px;height:64px;background:#f4eee3;border-radius:9px;overflow:hidden}.choice-art{display:block;width:100%;height:100%;image-rendering:pixelated}.answer-no{font-size:11px;color:#928376;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.question-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-size:11px;line-height:1.6}.question-foot small{font-size:10px}.question-foot button{font-size:11px;white-space:nowrap;padding:4px 0}.game-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:17px 0;margin-top:30px;font-size:10px;color:var(--muted);line-height:1.7}.hint{padding:10px 14px;margin:12px 0;border-left:3px solid var(--accent);border-radius:6px;background:var(--milk);color:var(--dark);font-size:14px;line-height:1.8}.hint p{margin:6px 0}.cat-motion{animation:breathe 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes breathe{50%{transform:scaleY(.99)}}
.result{padding:28px 0}.result>div{padding:24px}.result-visual{text-align:center;min-width:0}.card-logo{width:45px;height:49px;object-fit:contain}.result-visual>.eyebrow{font-size:13px;letter-spacing:.5px;margin:10px 0 20px}.result-image-frame{padding:12px;background:var(--milk);border-radius:14px}.result-image-frame .scene{border-radius:10px}.result-visual .scene-caption{margin:12px 0 20px}.result-visual h1{font-size:48px;line-height:1.2;margin:12px 0 24px}.result-visual>p{font-size:14px;color:var(--muted);line-height:1.8}.controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.controls button{font-size:12px}.result-info h2{font-size:20px;line-height:1.6;margin:0 0 14px}.result-info p{font-size:14px;line-height:1.9}.result-info>a{font-size:12px}.record{border-top:1px solid var(--line);margin-top:22px;padding:4px 0}.record>summary{font-weight:650;font-size:15px;min-height:52px}.record details{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.record details summary{font-size:13px;min-height:40px}.record p{font-size:13px;margin:8px 0}.record a{font-size:12px}.replay{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--milk)}.replay .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0 0 10px}.replay h3{font-size:21px;font-weight:500;line-height:1.6;margin:0 0 18px}.replay .primary{font-size:14px;max-width:100%;white-space:normal}.replay>.text-button{display:block;font-size:13px;margin-top:12px}.share-url{width:100%;padding:10px}.download-card{display:block;width:100%;height:auto}
footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:32px auto 0;padding:24px 32px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}footer .brand-group{gap:12px}footer small{display:block;margin-top:5px}footer .text-button{font-size:11px}dialog{border:1px solid #cbb89a;border-radius:20px;background:var(--card);color:var(--ink);padding:26px 30px;max-width:760px;width:calc(100% - 30px);max-height:85dvh;overflow:auto;box-shadow:0 24px 80px #3f2c2240}dialog::backdrop{background:#34271f80;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.dialog-heading h2{font-size:23px;font-weight:500;line-height:1.5;margin:0}.dialog-heading button{width:44px;height:44px;padding:4px;font-size:24px;flex-shrink:0}.guide-card{padding:12px 0 24px;line-height:1.9}.guide-card h3{font-size:22px}.guide-card a{font-size:13px}.guide-illustration{width:90px;height:90px;background:#f4eee3;border-radius:12px;float:left;margin:10px 20px 15px 0}#dialog-body{line-height:1.9}#dialog-body>a{overflow-wrap:anywhere}.loading{padding:40px;text-align:center;color:var(--muted)}
@media(min-width:1100px){body{isolation:isolate}.park-surroundings{display:block;position:fixed;inset:260px 0 0;z-index:0;overflow:hidden;opacity:.44;contain:strict}.garden-edge{position:absolute;top:0;bottom:0;width:min(420px,calc((100vw - 1000px)/2));background:url('./assets/park-garden.svg') center bottom/100% 100% no-repeat;filter:saturate(.65)}.garden-edge-left{left:0}.garden-edge-right{right:0;top:44px;transform:scaleX(-1)}}
@media(min-width:701px) and (max-width:1050px){.breed-card-top{grid-template-columns:minmax(0,1fr) auto}.breed-card-top h3{grid-column:1/-1}.layout{gap:24px}.breed-body{grid-template-columns:180px minmax(0,1fr)}.chosen-cat{height:180px}}
@media(min-width:701px) and (max-width:1150px){main{padding-inline:24px}.home-shell{padding-inline:8px}}
@media(hover:hover) and (pointer:fine){.primary:hover,.hero .button:hover{background:#7b4b36;border-color:#7b4b36;text-decoration:none}.option:hover{border-color:#b58d70;background:#fbf5ed;box-shadow:0 3px 12px #573b2209}.park-cat:hover{border-color:#8d846255;background:#fff9df55}}
@media(hover:none),(pointer:coarse){.option:hover{background:var(--card);border-color:#d9cbbb;transform:none}}
@media(max-width:700px){.brand-ribbon{font-size:8px;padding:6px 12px;line-height:16px}.site-header{height:78px;padding:0 18px}.brand-group{gap:10px}.publisher-link{padding-right:10px}.publisher-link img{width:37px;height:40px}.brand{font-size:18px}.brand small{font-size:8px;letter-spacing:0;margin-top:5px}.site-header>.text-button{font-size:10px;padding:3px;max-width:85px;line-height:1.6}.site-tools{padding:10px 16px 4px;gap:10px;flex-wrap:wrap;justify-content:space-between}.site-tools nav{gap:7px}.site-tools button{font-size:11px;padding:8px 10px}.species-switch a,.species-switch span{font-size:11px;padding:8px 10px}.home-shell{padding:14px 16px 24px}.hero{display:block;padding:20px 16px;margin-bottom:20px;border-radius:16px}.hero-copy{text-align:center}.hero-copy .eyebrow{font-size:9px;margin:0 0 2px}.hero h1{font-size:32px;line-height:1.6;margin:2px 0}.hero h1 br,.park-intro br{display:none}.hero .park-intro{font-size:12px;line-height:1.6;margin:3px 0 8px}.park-picked{font-size:10px;margin-bottom:8px}.hero .button{display:none}.cat-park{padding:12px 10px 28px;margin-top:12px}.park-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}.park-cat{height:56px;max-width:86px;padding:0 15px}.cat-park>p{font-size:9px}.park-sun{width:16px;height:16px;right:13px;top:3px}.park-cloud{transform:scale(.65);top:10px}.select-row label{font-size:14px}.select-row select{height:52px}.registry-note,.choose-hint{font-size:11px}.breed-picker.has-selection{padding:12px 14px}.breed-picker.has-selection>summary{font-size:13px}.appearance-picker{margin:18px 0}.breed-card{padding:16px;border-radius:16px}.breed-card-top{display:block;padding-bottom:14px}.breed-card-top h3{display:none}.breed-card-top .pace{padding:8px 10px;gap:7px 15px}.breed-card-top .pace label{font-size:12px;min-height:36px}.breed-body{display:block;padding-top:8px}.portrait-column{padding:0}.chosen-cat{width:190px;height:190px;margin:auto}.age-tabs{margin:12px 0 18px}.age-tabs button{min-height:44px;padding:8px 14px}.breed-info details{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;padding:0}.breed-info details:first-child{padding:0}.breed-info details:last-child{border:1px solid var(--line);margin-bottom:0}.breed-info summary{font-size:14px;padding:14px;min-height:52px}.breed-info details[open]>summary{border-bottom:1px solid var(--line)}.fold-body{padding:0 14px 14px}.breed-info p{font-size:13px}.pace{font-size:12px;gap:8px 14px;padding:10px 12px}.pace legend{font-size:13px}.pace label{font-size:12px;min-height:38px}.journey-meta{font-size:10px;gap:6px}.journey-meta span{padding-inline:6px}.start-note{font-size:10px}.resume-note{padding:14px;gap:12px}.resume-note b{font-size:13px}.resume-note button{font-size:12px;padding:10px 14px}.start-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;z-index:30;left:0;right:0;bottom:0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--card);border-top:1px solid #d5c0a0;box-shadow:0 -5px 24px #60412112}.start-actions .dock-label{display:block;min-width:0;flex:1;font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.start-actions .primary{font-size:13px;max-width:62%;padding:11px 16px;line-height:1.6;min-height:48px}.start-actions .primary span{display:none}body:has(.start-actions){padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}html:has(.start-actions){scroll-padding-bottom:115px}
 body[data-screen=play] .site-header{height:48px;padding:0 16px}body[data-screen=play] .brand{font-size:15px}body[data-screen=play] .publisher-link img{width:25px;height:28px}body[data-screen=play] .publisher-link{padding-right:7px}body[data-screen=play] .brand-group{gap:7px}main{padding:0}.play-panel{margin:6px 10px 0;padding:14px 13px;border-radius:16px}.play-top{padding-bottom:8px;min-height:48px}.play-top h2{font-size:16px;margin-bottom:4px}.play-top p{font-size:11px}.life-chapters{margin:12px 0;gap:5px}.life-chapters small{display:none}.life-chapters i{margin:0}.layout{display:block}.scene-with-age{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);align-items:center;gap:10px}.story-visual{border-radius:10px}.story-visual .scene{height:106px;width:100%;object-fit:contain}.age-display{text-align:left;font-size:10px;letter-spacing:0;margin:0}.age-display b{font-size:20px;margin:6px 0;line-height:1.4}.scene-column .scene-caption{display:none}.question-column{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.question-meta{font-size:11px;min-height:24px}#clock{font-size:11px}.question{font-size:17px;line-height:1.65;margin:10px 0 14px}.situation{font-size:11px;margin-bottom:3px}.option{grid-template-columns:40px minmax(0,1fr) 18px;gap:12px;padding:9px 10px;min-height:64px;font-size:14px;line-height:1.7;border-radius:11px}.choice-picture{width:40px;height:40px}.answer-no{font-size:10px}.options{gap:10px}.question-foot{margin-top:12px;gap:8px}.question-foot small{font-size:9px}.question-foot button{font-size:10px;min-height:36px}.game-bottom{margin-top:14px;padding:10px 0 0;font-size:9px}.hint{font-size:13px;line-height:1.7;padding:10px 12px}.hint small{font-size:11px}
 .result{padding:16px}.result>div{padding:18px;border-radius:16px}.result-visual{margin-bottom:18px}.result-visual h1{font-size:40px}.result-visual>.eyebrow{margin:8px 0 14px}.result .scene{max-height:220px}.result-info h2{font-size:19px}.replay{padding:18px}.replay h3{font-size:18px}.replay .primary{font-size:13px}.record>summary{font-size:14px}.controls button{font-size:12px;padding:9px 12px}footer{margin:24px 16px 0;padding:18px 0;gap:12px;flex-wrap:wrap;font-size:10px}footer>p{display:none}footer .brand-group{gap:10px}footer .text-button{font-size:10px}dialog{padding:20px;max-height:87dvh}.dialog-heading h2{font-size:20px}.guide-card h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cat-motion{animation:none}button,a{transition:none!important}}@media print{.park-surroundings,.start-actions{display:none}}

/* Same campaign card as the dog game. */
.seasonal-card{display:flex;align-items:center;gap:20px;margin:18px 0 24px;padding:14px 22px;border:1px solid #dfcdb8;border-radius:14px;background:#f3e9db;box-shadow:none}
.seasonal-art{position:relative;width:84px;height:70px;flex-shrink:0;display:flex;align-items:center}
.seasonal-art svg{image-rendering:pixelated;display:block;overflow:hidden}
.seasonal-art .seasonal-gift{position:absolute;right:0;bottom:4px}
.seasonal-copy{flex:1;min-width:0}.seasonal-brand{font-size:10px;letter-spacing:.13em;color:#80624a}
.seasonal-card .seasonal-copy h2{font-size:19px;line-height:1.45;margin:3px 0;color:#513b30;font-weight:700}
.seasonal-card .seasonal-copy p{font-size:13px;line-height:1.5;margin:0;color:#786b60}
.seasonal-link{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 14px;border-left:1px dashed #c8ac8c;color:#684530;font-size:14px;text-decoration:none;white-space:nowrap}
.seasonal-link:hover{background:#ecdecb;border-radius:8px}
@media(max-width:700px){.seasonal-card{gap:10px;margin:12px 0 16px;padding:10px 12px;border-radius:12px}.seasonal-art{width:48px;height:52px}.seasonal-art>svg:first-child{width:42px;height:46px}.seasonal-art .seasonal-gift{width:20px;height:22px;right:-2px;bottom:0}.seasonal-brand{font-size:8px;letter-spacing:.07em}.seasonal-card .seasonal-copy h2{font-size:15px;margin:2px 0}.seasonal-card .seasonal-copy p{display:none}.seasonal-link{font-size:12px;gap:5px;padding:4px 0 4px 9px;white-space:normal;flex-shrink:0;max-width:80px}}
/* Selection follows the dog game's desktop and phone hierarchy. */
.park-cats{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px 0;width:100%;max-width:780px;margin:auto}
.cat-park{padding:24px 5px 30px;min-height:252px;display:flex;align-items:center}
.park-cat{min-width:0;width:min(100%,98px);height:auto;min-height:0;aspect-ratio:8/7;padding:2px;border-width:2px;position:relative}
.park-cat:nth-child(6n+2),.park-cat:nth-child(6n+5){transform:translateY(-4px)}
.park-cat:before{content:'';position:absolute;bottom:2px;left:16%;right:11%;height:4px;background:#63744520;z-index:-1}
.park-cat .cat-portrait{pointer-events:none}
.breed-card{border-radius:16px;margin:10px 0 16px}
.breed-body{grid-template-columns:210px minmax(0,1fr);gap:28px}
.chosen-cat{width:220px;height:220px;max-width:100%;margin:0 auto 12px}
.portrait-column{padding-top:14px}.portrait-label{font-size:11px;margin:0}
.breed-care>summary:after,.personality-care>summary:after{content:'';width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:0 0 8px;margin:0 4px}
.breed-care[open]>summary:after,.personality-care[open]>summary:after{transform:rotate(225deg)}
.breed-care>summary{font-size:18px}.personality-care>summary{font-size:14px}
.breed-info .collection-fold{border-top:1px solid var(--line);padding-top:8px;margin-top:16px}
.breed-info .collection-fold>summary{font-size:14px;font-weight:400}
.breed-card-top .start-actions .primary{max-width:none}
@media(max-width:700px){
 .cat-park{padding:14px 3px 22px;min-height:180px;max-width:420px;margin-inline:auto}
 .park-cats{grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
 .park-cat{width:min(100%,56px);height:auto;min-height:0;aspect-ratio:8/7;padding:2px}
 .breed-card-top{display:none}
 .breed-body{padding:0;display:block}
 .portrait-column{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 14px;padding:0 0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
 .chosen-cat{width:184px;height:176px;flex:0 0 184px;margin:0}
 .portrait-label{font-size:14px;line-height:1.7;text-align:left;max-width:calc(100% - 154px);overflow-wrap:anywhere}
 .art-status{width:100%;margin:0;font-size:11px}
 .breed-info .breed-care>summary,.breed-info .personality-care>summary{font-size:14px;min-height:54px}
 .breed-info .collection-fold{border:0;border-top:1px solid var(--line);border-radius:0;padding-top:8px;margin:16px 0 0}
 .breed-info .collection-fold>summary{padding:8px 0;min-height:44px;font-size:14px;font-weight:400}
 .breed-info .collection-fold[open]>summary{border:0}
 .collection-fold .fold-body{padding-inline:0}
 .pace{margin:18px 0;gap:0;padding:8px 12px}.pace label{width:100%;font-size:14px;min-height:44px}
 .seasonal-art>.cat-portrait{width:42px;height:46px}
}
@media(max-width:359px){.park-cats{grid-template-columns:repeat(5,minmax(0,1fr))}.cat-park{min-height:210px}.chosen-cat{width:112px;height:112px;flex-basis:112px}.portrait-label{max-width:calc(100% - 134px)}}
@media(max-width:700px){.breed-info details.collection-fold:last-child{border:0;border-top:1px solid var(--line);border-radius:0;padding-top:8px;margin:16px 0 0}}
.cost-items{display:grid;gap:14px;padding-inline-start:20px}.cost-items p{margin:3px 0}.cost-items a{font-size:.86em;overflow-wrap:anywhere}
