@charset "UTF-8";
:root{--ink:#24423e;--muted:#71817a;--rose:#d26d7c;--paper:#fffcf7;--line:#e6e9de;--accent:#477e6c}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 12%,#f4e8e1 0,transparent 32%),radial-gradient(ellipse at 100% 68%,#e8f0e5 0,transparent 30%),#f9f8f2;color:var(--ink);font-family:"Microsoft YaHei",system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #be714d;outline-offset:4px}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}.pet-shell{max-width:1330px;margin:auto;padding:42px 42px 20px}.pet-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:#778679}.pet-heading h1{font-family:"Noto Serif SC",Georgia,serif;font-size:36px;font-weight:500;letter-spacing:.02em;margin:12px 0}.pet-heading p,.collection-head p{color:var(--muted);font-size:13px;line-height:1.7;margin:8px 0}.calm-note{display:flex;align-items:center;gap:14px;font-size:12px;line-height:1.8;color:#7c896f}.calm-note>span:first-child{font-size:37px;color:#b7bf96}.pet-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:28px;align-items:start}.collection-head h2{font-size:19px;font-weight:600;margin:12px 0 6px}.pet-sidebar{padding-top:12px}.pet-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.pet-choice{padding:0;overflow:hidden;border:1px solid #e5e5d9;border-radius:14px;background:var(--paper);text-align:left;box-shadow:0 3px 10px #47685405;transition:transform .2s,border-color .2s;position:relative}.pet-choice:hover{transform:translateY(-3px)}.pet-choice[aria-pressed=true]{border:2px solid var(--accent);box-shadow:0 0 0 3px #477e6c12}.pet-choice[aria-pressed=true]:after{content:'✓';position:absolute;right:7px;top:7px;border-radius:50%;background:var(--accent);color:white;width:20px;height:20px;display:grid;place-items:center;font-size:12px}.pet-choice .thumbnail{display:block;aspect-ratio:1.32;background-image:url('assets/pet-worlds.jpg');background-image:image-set(url('assets/pet-worlds.webp') type('image/webp'),url('assets/pet-worlds.jpg') type('image/jpeg'));background-size:300% 200%}.pet-choice strong{display:block;font-size:12px;padding:9px 9px 3px;font-weight:600}.pet-choice small{display:block;color:#829084;font-size:9px;padding:0 9px 10px;letter-spacing:.04em}.daily-card{border:1px solid #e0e5d4;background:#f0f2e8;border-radius:15px;padding:20px 17px}.daily-card h3,.daily-card .daily-title{font-size:14px;margin:12px 0 6px}.daily-card p{font-size:11px;color:var(--muted)}.daily-button{border:0;background:transparent;padding:8px 0 0;color:var(--accent);font-size:12px;font-weight:600}.saved-note{font-size:11px;line-height:1.8;color:#8b9589;padding:0 10px}.game-card{background:var(--paper);border:1px solid #e1e5db;border-radius:24px;overflow:hidden;box-shadow:0 15px 55px #3e60410b}.game-header{padding:24px 28px 16px;display:flex;justify-content:space-between;align-items:center}.game-header h2{font-size:24px;font-family:Georgia,"Noto Serif SC",serif;font-weight:500;margin:7px 0 0}.progress-pill{display:flex;align-items:center;gap:7px;color:#728576;font-size:11px;background:#eff3e9;border:1px solid #e1e8d7;border-radius:40px;padding:10px 15px}.progress-pill span:first-child{font:500 19px Georgia,serif;color:var(--accent)}.game-toolbar{display:flex;justify-content:center;gap:8px;padding:0 18px 17px}.game-toolbar button{border:1px solid #e4e5d9;background:#fffcf5;color:#506953;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;font-size:11px;min-height:37px}.game-toolbar b{font-weight:500}.game-toolbar span{font-size:19px}.game-toolbar button[aria-pressed=true]{background:#e2ecda;border-color:#86a483}.board-stage{position:relative;isolation:isolate;aspect-ratio:1.17;overflow:hidden;background:#d5e8d9;border-top:1px solid #e6e8dc;border-bottom:1px solid #e6e8dc}.scene{background-image:url('assets/pet-worlds.jpg');background-image:image-set(url('assets/pet-worlds.webp') type('image/webp'),url('assets/pet-worlds.jpg') type('image/jpeg'));background-size:300% 200%;background-position:var(--scene-x,0%) var(--scene-y,0%)}.board-stage>.scene{position:absolute;inset:0;z-index:-3}.scene-wash{position:absolute;inset:0;background:#fffbeb26;z-index:-2;transition:background .2s}.pet-board{position:absolute;inset:8% 8% 11%;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(8,1fr);gap:3px;align-items:stretch}.pet-tile{padding:1px 3px 2px;min-width:0;min-height:0;border:1px solid #c8ac77;border-radius:6px;background:linear-gradient(140deg,#fffef7 20%,#ffefd0);box-shadow:0 3px 0 #b89d6e,0 4px 6px #49503d40,inset 0 0 0 2px #fffdf68f;position:relative;transition:transform .15s,box-shadow .15s;touch-action:manipulation}.pet-tile:hover{transform:translateY(-3px);z-index:2}.mahjong-face{width:100%;height:100%;display:block;pointer-events:none}.pet-tile.selected{transform:translateY(-4px);box-shadow:0 0 0 3px #de7587,0 5px 0 #b89d6e;z-index:3}.pet-tile.hinted{box-shadow:0 0 0 3px #e2ac48,0 3px 0 #b89d6e;animation:glow 1s ease-in-out infinite alternate;z-index:2}.pet-tile.invalid{animation:shake .22s ease-in-out 2}.connection{position:absolute;left:-.4%;top:-2.1%;width:100.8%;height:101.25%;pointer-events:none;z-index:4;overflow:visible}.connection polyline{fill:none;stroke:#fff3ae;stroke-width:.09;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .12px #dc5983)}.comfort .scene-wash{background:#fff9e3bc}.comfort .pet-tile{border:2px solid #8b7853}.game-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:16px 23px;min-height:66px}.game-footer p{margin:0;font-size:12px;line-height:1.6;color:#698071}.text-button{border:0;background:none;color:#ac715a;font-size:11px;white-space:nowrap}.pause-cover{position:absolute;inset:0;background:#f8f7e9ee;backdrop-filter:blur(12px);z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#52765d}.pause-cover>span{font-size:60px}.pause-cover h2{font-family:Georgia,serif;font-weight:400}.primary{border:0;border-radius:10px;background:var(--accent);color:white;padding:13px 24px}.how-to{display:flex;justify-content:space-between;gap:20px;margin:30px 0 0;padding:21px 0;border-bottom:1px solid var(--line)}.how-to>div{display:flex;align-items:center;gap:12px}.rule-number{font:italic 24px Georgia,serif;color:#b3bd9d}.how-to p{font-size:12px;color:#7a897d}.pet-footer{display:flex;gap:18px;padding-top:24px;font-size:10px;color:#889485;align-items:center}.pet-footer>span:first-child{font:18px Georgia,serif;color:#4e6c59}.pet-footer a{margin-left:auto;color:#72856f;text-decoration:none}dialog{border:1px solid #e6d4be;border-radius:24px;background:#fffcf5;color:var(--ink);text-align:center;width:min(450px,92vw);padding:35px;box-shadow:0 20px 80px #28433e44}dialog::backdrop{background:#1c3d3b88;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;color:#889485;font-size:24px}dialog h2{font-size:25px;font-family:Georgia,serif;font-weight:500}dialog p{font-size:13px;color:var(--muted)}.postcard{transform:rotate(-3deg);background:white;padding:9px 9px 15px;box-shadow:0 6px 16px #32453821;margin:25px auto;max-width:275px}.postcard-art{aspect-ratio:1.2}.postcard>span{font:italic 11px Georgia,serif;display:block;margin-top:10px;color:#8b9781}.win-actions{display:flex;gap:8px;justify-content:center}.win-actions>button{font-size:12px;border-radius:9px;padding:12px;border:1px solid #d8dfcd}.win-actions>button:not(.primary){background:#fffdf7;color:var(--accent)}.site-nav{background:#fffcf7eb;box-shadow:none;border-bottom:1px solid #e5e7da}.site-nav::after{display:none}.snav-brandtext b{font-family:Georgia,serif;color:#345447;font-size:20px;font-weight:500}.snav-brandtext small{color:#8b9c85}.snav-mark{background:#648b72;border-radius:13px;box-shadow:none}.snav-tab.active,.snav-login{background:#648b72;box-shadow:none}.snav-tab:hover{background:#edf1e6;color:#456752}.snav-lang{border-color:#e0e5d8}@media(min-width:601px){.snav-tabs{margin-left:40px}.snav-tab{font-size:13px;padding:10px 18px}}.snav-login{font-size:12px}.snav-lang-select{font-size:11px}
@keyframes glow{to{filter:brightness(1.12)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(min-width:1450px){.pet-shell{max-width:1350px}.board-stage{aspect-ratio:1.2}}@media(max-width:1050px){.pet-shell{padding:28px 24px}.pet-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}.game-toolbar button{padding:8px 10px}.game-header{padding:20px}.pet-heading h1{font-size:30px}.snav-tabs{margin-left:10px}}
@media(max-width:760px){.pet-shell{padding:25px 14px 18px}.pet-heading{margin-bottom:18px}.pet-heading h1{font-size:25px;margin:9px 0}.pet-heading p{font-size:11px}.calm-note{display:none}.pet-layout{display:flex;flex-direction:column;gap:16px}.pet-sidebar{width:100%;padding:0}.collection-head{display:none}.pet-choices{display:flex;overflow:auto;gap:8px;margin:0;padding:4px 2px 6px}.pet-choice{min-width:100px;flex:1}.pet-choice .thumbnail{aspect-ratio:1.8}.pet-choice strong{font-size:11px;padding:7px 7px 2px}.pet-choice small{font-size:8px;padding:0 7px 7px}.daily-card{margin-top:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.daily-card .eyebrow,.daily-card p{display:none}.daily-card h3,.daily-card .daily-title{font-size:11px;margin:0}.daily-button{font-size:11px;padding:0}.saved-note{display:none}.game-card{width:100%;border-radius:18px}.game-header{padding:17px 17px 13px}.game-header h2{font-size:22px}.game-toolbar{gap:5px;padding:0 10px 12px}.game-toolbar button{flex:1;padding:5px 4px;gap:4px;font-size:10px}.game-toolbar span{font-size:17px}.board-stage{aspect-ratio:.95}.pet-board{inset:8% 5% 11%;gap:2px}.pet-tile{border-radius:4px;padding:0 1px}.connection{left:-4%;width:108%}.game-footer{padding:13px 14px;min-height:61px}.game-footer p{font-size:11px}.how-to{margin-top:12px;padding:10px 0;gap:5px;align-items:start}.how-to>div{display:block;flex:1}.how-to p{font-size:10px;line-height:1.7;margin:5px 0}.rule-number{font-size:19px}.pet-footer{flex-wrap:wrap;gap:8px;font-size:9px;padding-top:17px}.pet-footer a{width:100%;margin:5px 0}.site-nav{padding:0 12px;gap:5px}.snav-brandtext{display:none}.snav-mark{width:33px;height:36px}.snav-tabs{margin-left:2px;gap:2px}.snav-tab{font-size:11px;padding:8px}.snav-login{padding:8px}.eyebrow{font-size:8px;letter-spacing:.15em}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.connection{inset:0;width:100%;height:100%}.connection polyline{stroke-width:3;filter:drop-shadow(0 0 3px #dc5983)}

@media(min-width:761px){.pet-board{left:16%;right:16%}}
/* v2.1 — PET-05 win dialog link; PET-01 reward buttons; PET-12 portrait phones */
.win-coach{display:inline-block;margin-top:16px;font-size:13px;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.game-toolbar button[data-mode=reward]{background:#fff4dc;border-color:#e2b865;color:#7a5410;font-weight:600}
.game-toolbar button[data-mode=reward] b{font-weight:600}
.game-toolbar button[data-mode=out]{opacity:.55}
.status-pro{color:var(--accent);font-weight:600;white-space:nowrap}
@media(max-width:599px) and (orientation:portrait){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .pet-shell{padding:12px 8px 16px}
  .pet-heading{margin-bottom:10px}.pet-heading .eyebrow,.pet-heading p{display:none}
  .pet-shell .pet-heading h1{font-size:19px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pet-layout{gap:10px}
  .pet-choices{gap:6px;padding:2px 2px 4px;scroll-snap-type:x mandatory}
  .pet-choice{min-width:58px;flex:0 0 58px;border-radius:12px;scroll-snap-align:start}
  .pet-choice .thumbnail{aspect-ratio:1}.pet-choice small{display:none}
  .pet-choice strong{font-size:10px;padding:4px 4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .pet-choice[aria-pressed=true]:after{width:16px;height:16px;font-size:10px;right:4px;top:4px}
  .daily-card{margin-top:4px;padding:6px 10px}
  .pet-shell{padding-top:8px}
  .game-card{border-radius:14px}
  .game-header{padding:10px 12px 8px}.game-header h2{font-size:18px;margin-top:3px}.progress-pill{padding:6px 10px}
  .board-stage,.board-stage.portrait{aspect-ratio:.76}
  .pet-board.portrait{inset:1.5%;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(10,1fr);gap:1px}
  .pet-board.portrait .pet-tile{padding:0 1px;border-radius:5px}
  .game-toolbar{position:fixed;left:0;right:0;bottom:0;z-index:50;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffcf5f2;border-top:1px solid #e4e5d9;backdrop-filter:blur(8px)}
  .game-card .game-toolbar button{min-height:48px;font-size:11px;flex-direction:column;gap:1px;padding:4px 2px}
  .game-toolbar span{font-size:16px}
  .how-to{display:none}
}

.progress-pill{color:#56695b}
.pet-tile .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.game-header .progress-pill span:last-child{color:#4b5d52}
/* v2.2 — sizes (PET-06), streak (PET-10), postcards in the win dialog (PET-07/08/11), themes (PET-09) */
.size-row{display:flex;justify-content:center;padding:0 18px 12px}
.size-seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#f1f3ec;border:1px solid #e3e7dc}
.size-seg button{border:0;background:transparent;border-radius:9px;padding:0 12px;min-height:34px;font-size:12px;color:#56655b;font-weight:600}
.size-seg button[aria-pressed=true]{background:#fff;color:#2f4a3a;box-shadow:0 1px 3px #0000001a}
.size-seg button:disabled{opacity:.45}
.board-stage[data-size=medium]{aspect-ratio:1.24}.board-stage[data-size=large]{aspect-ratio:1.3}
.streak{margin:10px 0 2px;display:grid;gap:6px;font-size:12px;color:#4e6255}
.streak b{font-size:13px}
.streak .week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.streak .week span{display:grid;justify-items:center;gap:1px;padding:4px 0;border-radius:8px;background:#fff;border:1px solid #e3e7dc;font-size:12px;color:#9aa69c}
.streak .week span i{font-style:normal;font-size:9px;color:#7c897f}
.streak .week span.on{background:#e3efe4;border-color:#9dc3a4;color:#2f6b45;font-weight:700}
.streak .week span.frozen{background:#e8f1f8;border-color:#a9c7de;color:#3b6d91}
.streak .week span.today{outline:2px solid var(--accent);outline-offset:1px}
.streak small{color:#8a6a2c}
.postcard-slot{min-height:40px}
.win-card-line{margin:4px 0 0;font:italic 14px Georgia,serif;color:#4e6255;min-height:1.2em}
.win-note{font-size:13px;color:#4e6255}
.win-progress{display:grid;gap:4px;margin:10px auto;max-width:300px;font-size:12px;color:#6b7a70}
.win-bar{height:6px;border-radius:99px;background:#eef1ea;overflow:hidden}.win-bar i{display:block;height:100%;background:var(--accent)}
.win-extras{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.reward-btn{border:1px solid #e2b865;background:#fff4dc;color:#7a5410;border-radius:10px;padding:0 14px;min-height:40px;font-size:12px;font-weight:600}
.share-btn{border:1px solid #d8dfcd;background:#fffdf7;color:var(--accent);border-radius:10px;padding:0 14px;min-height:40px;font-size:12px;font-weight:600}
.win-links{margin:12px 0 0;font-size:12px;color:#6b7a70}.win-links a{color:var(--accent)}
.linkish{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer}
#themeDialog .theme-art{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
#themeDialog .theme-art .pcard figcaption small{display:none}
.theme-msg{color:#b3261e;font-size:12px;min-height:1em}
.btn-link{display:inline-flex;align-items:center;padding:0 16px;border-radius:9px;border:1px solid #d8dfcd;color:var(--accent);text-decoration:none;font-size:12px}
.pet-choice.theme .thumbnail{background-size:cover!important}
.pet-choice.locked .thumbnail{filter:grayscale(.5) brightness(.9)}
.pet-choice.locked strong::after{content:" 🔒";font-size:11px}
.pet-choice.complete strong::after{content:" ✦";color:#c79a2b}
.board-stage.living .scene-wash{animation:pet-living 6s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 30%,#fff6c833 0 6%,transparent 7%),radial-gradient(circle at 75% 60%,#ffffff2e 0 5%,transparent 6%),#fffbeb26}
@keyframes pet-living{from{background-position:0 0,0 0}to{background-position:30px -20px,-25px 15px}}
@media(prefers-reduced-motion:reduce){.board-stage.living .scene-wash{animation:none}}
@media(max-width:599px) and (orientation:portrait){
  .size-row{padding:0 8px 6px}.size-seg button{padding:0 8px;font-size:11px}
  .board-stage.portrait[data-size=medium]{aspect-ratio:.72}.board-stage.portrait[data-size=large]{aspect-ratio:.68}
}
/* size switch lives in the header: its own row on wide screens, compact numbers on phones */
.game-header{flex-wrap:wrap;row-gap:10px}
.game-header .size-row{flex-basis:100%;order:3;padding:0}
@media(max-width:599px) and (orientation:portrait){
  .game-header{flex-wrap:nowrap;gap:6px}
  .game-header>div:first-child{min-width:0;flex:1}
  .game-header h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .game-header .size-row{flex-basis:auto;order:2}
  .size-seg{padding:2px;gap:2px}
  .size-seg button{font-size:0;padding:0 7px;min-height:32px}
  .size-seg button::after{content:attr(data-n);font-size:11px}
  .game-header .progress-pill{order:3;padding:5px 8px}
  .progress-pill span:last-child{display:none}
  .streak{margin:0;display:inline-flex}
  .streak .week,.streak small{display:none}
  .streak b{font-size:11px;font-weight:600;white-space:nowrap}
  .daily-card{flex-wrap:nowrap}
  .streak.none{display:none}
  .game-header .eyebrow{display:none}
  .game-header h2{margin:0}
}
/* home: coach bridge, crawlable guide and FAQ (v3.3) */
.home-bridge{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 0;padding:26px 30px;border:1px solid #d9e3d4;border-radius:22px;background:linear-gradient(120deg,#eef4ea,#fbf6ea)}
.home-bridge h2{font:500 24px Georgia,"Noto Serif SC",serif;margin:8px 0;color:#2f4a3c}.home-bridge p{margin:0;font-size:13px;line-height:1.7;color:var(--muted);max-width:62ch}
.home-bridge-actions{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none}.home-bridge-actions .primary{text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.home-alt{font-size:12px;color:var(--accent)}
.home-guide{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;margin-top:34px;padding-top:6px}
.home-guide h2,.home-faq h2{font:500 21px Georgia,"Noto Serif SC",serif;color:#2f4a3c;margin:22px 0 10px}
.home-guide p{font-size:14px;line-height:1.8;color:#4d5f53;margin:0 0 12px;max-width:72ch}
.home-guide-links ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.home-guide-links a{display:block;padding:11px 14px;border:1px solid #e1e5db;border-radius:12px;background:var(--paper);color:#456752;font-size:13px;font-weight:600;text-decoration:none}.home-guide-links a:hover{border-color:#9db79a}
.home-note{font-size:11px;color:#8b9589;margin:8px 0 0}
.home-faq{margin-top:18px}.home-faq details{border:1px solid #e1e5db;border-radius:12px;background:var(--paper);padding:13px 16px;margin-bottom:8px}.home-faq summary{cursor:pointer;font-size:14px;font-weight:600;color:#2f4a3c}.home-faq details p{font-size:13px;line-height:1.75;color:#4d5f53;margin:10px 0 2px}
@media(max-width:760px){.home-bridge{flex-direction:column;align-items:stretch;padding:20px;margin-top:18px}.home-bridge h2{font-size:20px}.home-bridge-actions .primary{text-align:center}.home-guide{grid-template-columns:1fr;gap:6px;margin-top:20px}.home-guide p{font-size:13px}}

/* PRD V3 P0: compact first play and two aligned layers. */
.pet-shell{padding-top:16px}.pet-heading{margin-bottom:12px}.pet-heading .eyebrow{display:none}.pet-heading h1{font-size:27px;margin:0 0 5px}.pet-heading p{margin:0}
.journey-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.journey-controls button,.level-picker button,.guide-row button{min-height:44px;border:1px solid #cbd8cc;border-radius:10px;background:#fffdf7;color:#345447;padding:8px 14px;font:inherit;font-size:13px}
.journey-controls .primary{background:#527967;color:white}.journey-controls label{display:flex;align-items:center;gap:6px;font-size:12px;min-height:44px;color:#4c6255}
.level-picker{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.level-picker button{min-width:44px;padding:5px}.level-picker button[aria-pressed=true]{background:#d8e8da;border-color:#567963}
.guide-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;background:#eef5e9;color:#355141;font-size:13px}.guide-row button{font-size:11px;padding:5px 9px;flex-shrink:0}
.board-stage.compact-board{aspect-ratio:auto!important;height:350px}.compact-board .pet-board,.compact-board .pet-board.portrait{inset:16px 22%;gap:5px}
.compact-board .pet-tile{min-width:42px;min-height:44px}.pet-tile.upper{transform:translate(-3px,-5px);border:2px solid #977947;box-shadow:3px 6px 0 #b29461,4px 8px 8px #33463766}
.pet-tile.upper.selected{transform:translate(-3px,-9px)}.pet-tile.covered{filter:brightness(.75);transform:translate(5px,5px);box-shadow:0 3px 0 #8d815f;cursor:help}
.no-pet-motion .pet-tile,.no-pet-motion .scene-wash{animation:none!important;transition:none!important}.no-pet-motion .pet-tile:hover{transform:none}
.first-round .size-row{display:none}.first-round .pet-layout{grid-template-columns:1fr}.first-round .game-card{grid-row:1;width:min(800px,100%);margin:auto}
.first-round .pet-sidebar{grid-row:2;display:grid;grid-template-columns:1fr 260px;gap:16px}.first-round .collection-head{display:none}.first-round .pet-choices{display:flex;overflow-x:auto;margin:0;gap:8px}.first-round .pet-choice{flex:0 0 76px}.first-round .pet-choice .thumbnail{aspect-ratio:1.4}.first-round .pet-choice small{display:none}.first-round .pet-choice strong{font-size:11px}.first-round .game-header{padding:12px 18px}.first-round .game-header h2{font-size:22px}.first-round .game-toolbar{padding-bottom:10px}.first-round .game-footer{min-height:42px;padding:10px 16px}
@media(max-width:760px){
 .pet-layout{flex-direction:column}.pet-layout .game-card{order:-1}.pet-heading h1{font-size:21px}.pet-shell{padding:10px 8px 16px}
 .journey-controls{gap:5px;margin-bottom:8px}.journey-controls button{font-size:12px;padding:6px 9px}.journey-controls label{font-size:11px}
 .board-stage.compact-board{height:370px}.compact-board .pet-board,.compact-board .pet-board.portrait{inset:16px 8px;gap:4px}
 .first-round .pet-sidebar{display:block}.first-round .pet-choice{flex-basis:58px}.first-round .game-header h2{font-size:17px}
 .guide-row{font-size:12px;padding:6px 10px}.guide-row button{max-width:115px;white-space:normal}
 .compact-board .pet-tile.upper{transform:translate(-1px,-3px)}.first-round .board-stage.compact-board{height:370px}
}
@media(min-width:761px){.compact-board .pet-board{inset:16px 18%}}
@media(max-width:599px) and (orientation:portrait){.compact-board .pet-board{inset:16px 9px}.first-round .pet-heading p{display:none}.first-round .journey-controls label{display:none}.first-round .game-header .eyebrow{display:none}.first-round .game-toolbar{padding:6px 4px}.first-round .guide-row button{min-height:44px}.pet-board:focus{outline:3px solid #527967}}
@media(prefers-reduced-motion:reduce){.pet-tile.hinted{outline:3px solid #d5a246}.pet-tile.upper{transition:none}}

.pet-sidebar,.pet-choices{min-width:0}.first-round .pet-sidebar{width:100%}.pet-tile.upper.hinted{outline:3px solid #d5a246}.guide-row{flex-wrap:wrap}.guide-row>span{flex:1;min-width:140px}

/* Responsive painting and compact boards: preserve image and tile proportions. */
.board-stage.compact-board{height:auto!important;aspect-ratio:1.5!important;min-height:350px;max-height:620px}
.compact-board .pet-board,.compact-board .pet-board.portrait{inset:auto!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%);gap:5px}
.compact-board .pet-tile{min-width:0;min-height:0}
.seasonal-heading{grid-column:1/-1;display:block;color:var(--muted);font-size:12px;font-weight:600;padding:12px 0 0}
.pet-choice .thumbnail{aspect-ratio:1}
@media(max-width:760px){.board-stage.compact-board{aspect-ratio:auto!important;height:370px!important;min-height:0}.compact-board .pet-board{gap:4px}.seasonal-heading{flex:0 0 48px;align-self:center;white-space:normal;font-size:11px;padding:0}.pet-choice .thumbnail{aspect-ratio:1}}
.first-round .seasonal-heading{flex:0 0 64px;align-self:center;padding:0}

@media(min-width:761px){.board-stage.compact-board{aspect-ratio:auto!important;height:clamp(350px,calc(100svh - 360px),560px)!important;min-height:0}}

@media(max-width:760px){.board-stage.compact-board{height:396px!important}}

.autumn-postcard{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:12px}.pet-choice.complete strong:after{content:" ✓"}

.solitaire-stack .pet-tile.upper{transform:translate(18%,18%);box-shadow:0 7px 0 #ab8953,0 10px 12px #302b2766;border:2px solid #b99757}.solitaire-stack .pet-tile.upper.selected{transform:translate(18%,12%)}.solitaire-stack .pet-tile.covered{opacity:1;filter:brightness(.78);cursor:not-allowed}.solitaire-stack .pet-tile.upper:hover{transform:translate(18%,14%)}

#sizes[hidden],#seasonWin[hidden]{display:none!important}.season-promise{max-width:780px;font-size:14px;line-height:1.6;color:var(--muted)}

/* October uses the approved original paintings only. Reserve the pets at lower left. */
.animal-stage .pet-shell{max-width:1580px;padding:24px 28px}
.animal-stage .pet-layout{grid-template-columns:240px minmax(0,1fr);gap:22px}
.animal-stage .game-header{padding:16px 24px 12px}.animal-stage .game-toolbar{padding-bottom:12px}
.board-stage.solitaire-stack.compact-board{height:clamp(420px,calc(100svh - 250px),700px)!important;max-height:none;min-height:0;aspect-ratio:auto!important;background:#f6f0e5}
.solitaire-stack #scene{background-size:cover!important;background-position:var(--october-anchor,left bottom)!important;opacity:1}
.solitaire-stack .scene-wash{background:transparent}
.solitaire-stack.compact-board .pet-board{left:var(--scene-board-left,68%)!important;top:var(--scene-board-top,46%)!important}
.solitaire-stack .pet-tile{border-radius:8px;box-shadow:0 4px 0 #b89d6e,0 5px 8px #49503d45}
@media(max-width:1100px){.animal-stage .pet-layout{display:flex;flex-direction:column}.animal-stage .game-card{order:-1;width:100%}.animal-stage .pet-sidebar{width:100%}.animal-stage .pet-choices{display:flex;overflow:auto}.animal-stage .pet-choice{flex:0 0 125px}.animal-stage .collection-head{display:none}}
@media(max-width:760px){.animal-stage .pet-shell{padding:10px 8px}.board-stage.solitaire-stack.compact-board{height:620px!important}.solitaire-stack #scene{background-size:cover!important;background-position:var(--october-anchor,left bottom)!important}.animal-stage .pet-choice{flex-basis:100px}.solitaire-stack .pet-tile{border-radius:6px;padding:0}.animal-stage .game-header{padding:12px}}
/* Keep the playable board in the first phone screen; secondary modes scroll horizontally. */
@media(max-width:599px) and (orientation:portrait){
 .season-promise{font-size:11px;line-height:1.4;margin:6px 0}
 .journey-controls{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:3px}
 .journey-controls button{flex:none;white-space:nowrap;min-height:44px}
 .journey-controls label{flex:none;white-space:nowrap}
 .level-picker{flex-wrap:nowrap;overflow-x:auto;max-width:100%}
 .level-picker button{flex:none}
 .game-header{padding:8px 10px}.size-row{padding-bottom:4px}
}
@media(max-width:599px) and (orientation:portrait){.pet-heading{display:none}.season-promise{margin-top:0}}
