:root{font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:#39453c;background:#f8f5ee;font-synthesis:none;--green:#58765b;--muted:#96998c;--line:#e5e5d9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 3% 45%,#e8eddf88,transparent 42%),radial-gradient(ellipse at 98% 5%,#f4e4ca77,transparent 40%);min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #be8a52;outline-offset:4px}button:disabled{opacity:.35;cursor:default}.shell{max-width:1110px;margin:auto;padding:30px 38px 24px}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:1px}.brand-mark{display:grid;place-items:center;font-size:36px;background:#e9eddf;width:48px;height:48px;border-radius:16px;color:#617859}.brand small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:5px;color:#96998c}.round-button{background:transparent;border:1px solid #d9ddcf;border-radius:50%;width:33px;height:33px;color:#77816f}.intro{text-align:center;margin:32px 0 30px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#8e9684}.eyebrow>span{display:inline-block;width:6px;height:6px;background:#97ad7c;border-radius:50%;margin-right:6px}h1{font-size:42px;letter-spacing:5px;margin:10px 0 8px;font-weight:700}h1>span{font-size:30px;display:inline-block;color:#acb99d;transform:rotate(12deg);margin-left:15px}.intro>p{font-size:13px;color:#92978b;letter-spacing:2px;margin:0}.game-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:23px;align-items:start}.play-panel,.wish-panel{border:1px solid #e5e6db;background:#fffefa;border-radius:24px;box-shadow:0 5px 30px #66724506}.play-panel{padding:24px 27px 18px}.level-heading{display:flex;align-items:center;justify-content:space-between}.chapter{font-size:10px;letter-spacing:2px;color:#a0a18d}h2{font-size:19px;font-weight:600;letter-spacing:1px;margin:6px 0}.move-pill{background:#f1f2e9;border-radius:12px;padding:8px 14px;text-align:center;display:flex;align-items:center;gap:7px}.move-pill strong{font-size:23px;font-weight:500;color:var(--green)}.move-pill span{font-size:10px;color:#8f9686}.level-copy{font-size:12px;color:#939887;margin:6px 0 20px}.room{border-radius:16px;background:#f2eedf;overflow:hidden;position:relative;border:1px solid #ebe5d4;padding:12px 18px 0}.room:before{content:'';position:absolute;inset:80px auto 20px 0;width:38%;background:linear-gradient(105deg,#ffecaa77,#ffecaa00);pointer-events:none}.room-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#a8a28d}.window-wall{height:49px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;margin:10px 0 17px}.window-wall i{width:68px;height:41px;background:linear-gradient(150deg,#e4ede2,#d8e7dc);border:3px solid #fffdf1;border-radius:18px 18px 2px 2px;box-shadow:0 3px 0 #dcd6bf;position:relative}.window-wall i:after{content:'';height:100%;width:2px;position:absolute;left:50%;background:#fffdf1}.window-wall span{font-size:8px;color:#9d9c86;position:absolute;bottom:-16px;letter-spacing:4px}.board{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:13px 12px;padding:5px 7px 0;position:relative;max-width:450px;margin:auto}.seat{position:relative;padding:7px 5px 6px;border:2px solid transparent;border-radius:18px;background:#e9dec7;box-shadow:0 4px 0 #d9cbb0;min-height:116px;touch-action:pan-y;transition:background .2s,transform .2s,border-color .2s;user-select:none;-webkit-user-select:none}.seat:before{content:'';position:absolute;inset:10px 8px 29px;border:1px dashed #d5c6a6;border-radius:12px}.seat.cushion{background:#e3e5d2;box-shadow:0 4px 0 #ced2b9}.seat.cushion:before{border-color:#c6ceb0}.seat:hover{transform:translateY(-3px)}.seat.selected{border-color:#688665;background:#edf0df;transform:translateY(-4px);box-shadow:0 5px 0 #a8b79b}.seat.hinted{animation:hint 1s ease-in-out infinite;border-color:#bf9c55}.seat.dragover{outline:3px dashed #688665;outline-offset:2px}.seat .cat-svg{width:85px;height:76px;display:block;margin:0 auto;position:relative;filter:drop-shadow(0 4px 2px #55432b12);pointer-events:none}.seat .name{position:relative;display:block;font-size:11px;letter-spacing:1px;margin-top:0}.seat .mood{position:absolute;right:6px;top:6px;font-size:10px;background:#fff9ec;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#b49a67}.seat.is-happy .mood{background:#f1f8e8;color:#65865c}.seat .seat-number{position:absolute;left:7px;top:6px;color:#b4aa92;font-size:9px}.room-bottom{display:flex;align-items:center;justify-content:center;gap:25px;height:34px;font-size:9px;color:#9fa28b;letter-spacing:2px}.sleepy{color:#b8b8a2;font-size:11px;transform:rotate(-10deg)}.status-row{display:flex;justify-content:space-between;font-size:11px;margin:20px 0 9px;color:#7c8874}.status-row span:last-child{color:#9da58e;font-size:10px}.progress-track{height:5px;background:#edf0e5;border-radius:5px;overflow:hidden}.progress-track>div{height:100%;background:#a0b58b;border-radius:5px;transition:width .3s}.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.tools button{border-radius:12px;border:1px solid #e1e5d7;background:#fffefa;font-size:12px;padding:10px 5px}.tools button:last-child{background:#edf1e4;border-color:#edf1e4;color:#66815e}.tools button>span{font-size:18px;vertical-align:-1px;margin-right:3px}.tools button:hover:not(:disabled){background:#e8eddf}.instruction{font-size:10px;line-height:1.8;color:#9b9c8d;text-align:center;margin:12px 0 0;min-height:18px}.wish-panel{padding:23px 23px 18px}.wish-title{display:flex;justify-content:space-between;align-items:center}.wish-title h2{font-size:16px;margin:0}.wish-title span{color:#b4bfa4;font-size:24px}.wish-subtitle{font-size:10px;color:#a0a28f;margin:5px 0 16px}.wish{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eff0e7}.wish:last-child{border-bottom:0}.avatar{width:46px;height:46px;border-radius:14px;background:var(--tint);flex-shrink:0;display:grid;place-items:center}.avatar svg{width:42px;height:42px}.wish-content{flex:1;min-width:0}.wish-content strong{font-size:12px;font-weight:500;letter-spacing:1px}.wish-content .rules{font-size:10px;line-height:1.9;margin-top:3px;color:#a19d8b}.rule.ok{color:#7c9571}.rule{display:block}.wish-check{width:20px;height:20px;border-radius:50%;font-size:10px;display:grid;place-items:center;background:#f3f1e9;color:#bcb6a2}.wish-check.ok{background:#edf3e6;color:#7a966b}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 4px;padding:15px 0 0;margin-top:14px;border-top:1px dashed #dfe4d3;font-size:9px;color:#9ba18d}.legend small{grid-column:1/-1;font-size:9px;margin-top:4px;color:#a9ac9c}.level-nav{display:flex;align-items:center;justify-content:center;gap:23px;margin-top:27px}.level-nav>span{font-size:11px;color:#929b83;letter-spacing:1px}#levels{display:flex;gap:7px}.level-dot{width:29px;height:29px;border-radius:10px;background:#eeeee3;color:#a1a68f;font-size:10px}.level-dot.current{background:#657e5e;color:white;box-shadow:0 3px 6px #657e5e22}.level-dot.completed:not(.current){background:#e2ead8;color:#657e5e}.level-dot:disabled{opacity:.45}footer{display:flex;justify-content:space-between;color:#acaf9c;font-size:9px;letter-spacing:.6px;margin-top:28px}dialog{border:1px solid #e0e5d4;border-radius:26px;background:#fffef7;color:#46523f;max-width:420px;width:calc(100% - 36px);padding:35px;text-align:center;box-shadow:0 20px 100px #29362025}dialog::backdrop{background:#39433555;backdrop-filter:blur(6px)}dialog h2{font-size:23px;margin:16px 0}dialog p{font-size:12px;line-height:2;color:#929782}dialog ol{padding-left:17px;text-align:left;font-size:12px;line-height:2.1;color:#7f8b71}.dialog-icon{font-size:48px;color:#8ba17b}.dialog-close{position:absolute;right:15px;top:12px;background:transparent;font-size:24px;color:#a1ab94}.primary{border-radius:13px;background:#68815f;color:white;width:100%;padding:14px;font-size:13px;margin-top:12px}.primary:hover{background:#536d4b}.text-button{font-size:11px;color:#9ba18d;background:transparent;margin-top:13px;padding:8px}.win-cats{display:flex;justify-content:center;margin-bottom:18px}.win-cats svg{width:80px;margin:0 -5px;animation:sway 2s ease-in-out infinite}.win-cats svg:nth-child(2){animation-delay:.3s}.win-cats svg:nth-child(3){animation-delay:.6s}.won .cat-svg{animation:sway 2s ease-in-out infinite}.muted{font-size:10px!important} @keyframes hint{50%{box-shadow:0 0 0 5px #d8bc7b55}}@keyframes sway{50%{transform:translateY(-4px) rotate(3deg)}}
@media(min-width:850px){.board[style*="2"]{max-width:340px;gap:16px 24px}.board[style*="2"] .seat{min-height:122px}.board[style*="2"] .cat-svg{width:92px;height:82px}}
@media(max-width:740px){.shell{padding:20px 18px}.intro{margin:27px 0 24px}h1{font-size:33px;letter-spacing:3px}.intro>p{font-size:11px}.eyebrow{font-size:9px;letter-spacing:1px}.game-layout{grid-template-columns:1fr;gap:18px;max-width:490px;margin:auto}.play-panel{padding:20px 19px 16px}.wish-panel{padding:20px}#wishes{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.wish{gap:7px}.avatar{width:35px;height:38px}.avatar svg{width:34px}.wish-check{display:none}.wish-content .rules{font-size:9px}.wish-content strong{font-size:11px}.legend{font-size:10px}.level-nav{flex-direction:column;gap:12px;margin-top:22px}.level-nav>span{font-size:10px}#levels{gap:6px}.level-dot{width:27px;height:28px}.room{padding:12px 10px 0}.board{gap:13px 8px}.seat .cat-svg{width:74px;height:71px}.seat{min-height:111px}.brand{font-size:12px}.brand small{font-size:7px}.brand-mark{width:40px;height:40px;font-size:30px}footer{flex-direction:column;align-items:center;gap:8px;font-size:9px}.level-copy{font-size:11px}.wish-subtitle{margin-bottom:9px}.wish-panel h2{font-size:15px}.room-top{font-size:8px}dialog{padding:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep small screens readable without an external font request. */
.instruction{color:#75826d;font-size:11px}.wish-content .rules{font-size:11px}.legend{font-size:10px}
@media(max-width:740px){.wish-content .rules{font-size:11px}.wish-content strong{font-size:12px}.wish{align-items:flex-start}.instruction{font-size:11px}.level-dot{min-height:34px}}

/* Cat café v2: living vector kittens and a genuine 4×4 sudoku board. */
[hidden]{display:none!important}.header-actions{display:flex;align-items:center;gap:15px}.sound-button{background:#eaf0e1;color:#607a58;border:1px solid #dce4d3;border-radius:20px;padding:8px 12px;font-size:11px}.sound-button[aria-pressed=false]{background:transparent;color:#969c8e}.brand-mark .cat-svg{width:43px;height:43px}.intro h1>span{vertical-align:middle;margin-left:12px;transform:rotate(9deg)}.intro h1>span svg{width:48px;height:48px}.intro{margin-bottom:21px}.mode-switch{display:flex;justify-content:center;gap:6px;background:#ebece1;padding:5px;border-radius:18px;width:max-content;max-width:100%;margin:0 auto 23px}.mode-switch button{background:transparent;padding:11px 22px;border-radius:14px;font-size:13px;color:#8c9580}.mode-switch button small{display:block;font-size:9px;margin-top:3px;letter-spacing:1px}.mode-switch button[aria-pressed=true]{background:#fffdf5;color:#5c7750;box-shadow:0 2px 8px #64764712}.mode-switch button[aria-pressed=true] small{color:#b29968}.tools{grid-template-columns:repeat(3,1fr)}.sudoku-mode .tools{grid-template-columns:repeat(4,1fr);gap:6px}.tools button{white-space:nowrap;padding:11px 4px}.tools button small{display:block;font-size:9px;margin-top:2px}.clue-note{font-size:9px;line-height:1.8;color:#909a83;text-align:center;margin:8px 0 0}.instruction{line-height:1.9;min-height:42px;margin-top:12px}.level-copy{line-height:1.9}.play-panel{overflow:visible}.room{overflow:visible}.cat-art{display:block;width:110px;height:104px;margin:0 auto;position:relative;pointer-events:none;transform-origin:50% 90%}.seat .cat-svg{width:100%;height:100%;filter:drop-shadow(0 3px 3px #7255380a)}.cat-svg .cat-tail{transform-origin:85px 86px;animation:tail-wag 3.3s ease-in-out infinite}.cat-svg .cat-eyes{transform-origin:60px 48px;animation:blink 5.8s linear infinite}.cat-svg .cat-body{transform-origin:60px 98px;animation:breathe 3.4s ease-in-out infinite}.cat-1 .cat-eyes{animation-delay:1.4s}.cat-2 .cat-eyes{animation-delay:2.7s}.cat-3 .cat-eyes{animation-delay:3.8s}.cat-1 .cat-tail{animation-delay:-1s}.cat-2 .cat-tail{animation-delay:-2s}.sleeping .cat-eyes{animation:none}.sleep-z{animation:sleep-float 2.8s ease-out infinite}.seat{min-height:145px;padding:8px 5px}.seat .name{font-size:11px;line-height:1.7}.seat.selected{box-shadow:0 4px 0 #9cae8b,0 0 0 3px #cddab877}.seat.selected .cat-head{transform-origin:60px 56px;animation:head-tilt 1.7s ease-in-out infinite}.seat:disabled{opacity:1}.seat .mood{z-index:2}.seat.is-happy .mood{background:#f5faec}.won .cat-svg{animation:none}.avatar{height:52px;width:52px}.avatar svg{height:50px;width:50px}.wish{padding:12px 0}.flying-cat .cat-svg{width:100%;height:100%;filter:drop-shadow(0 12px 8px #59473033)}.flying-cat .cat-head{animation:none}.is-busy .seat{transition:none}.sudoku-board{max-width:460px;gap:8px;padding:8px;margin:15px auto 0;background:#c0cbb0;border:1px solid #aebb9d;border-radius:18px;isolation:isolate}.sudoku-board:before,.sudoku-board:after{content:'';position:absolute;background:#a5b694;pointer-events:none;z-index:3;border-radius:3px}.sudoku-board:before{width:8px;top:7px;bottom:7px;left:calc(50% - 4px)}.sudoku-board:after{height:8px;left:7px;right:7px;top:calc(50% - 4px)}.sudoku-board .seat{min-width:0;min-height:108px;padding:8px 1px 4px;box-shadow:0 2px 0 #b8bca5;background:#fffaf0;border-radius:11px;border:2px solid transparent;margin:0;transform:none}.sudoku-board .seat:before{display:none}.sudoku-board .cat-art{width:78px;height:77px;max-width:100%}.sudoku-board .seat .name{font-size:10px;letter-spacing:0}.sudoku-board .seat-number{left:4px;top:3px;font-size:8px;color:#a1aa95}.sudoku-board .seat .mood{top:2px;right:4px;width:auto;height:auto;background:none;color:#80936b;font-size:9px;font-weight:700}.sudoku-board .seat.locked{background:#e6ecd9;border-color:#d3dfc1;box-shadow:inset 0 0 0 1px #f6f8eb;cursor:help}.sudoku-board .seat.selected{border-color:#6f945d;background:#f4f8e8;box-shadow:0 0 0 2px #69895c50}.sudoku-board .seat:hover:not(.locked){background:#fff4dd}.sudoku-board .seat.conflict{outline:2px dashed #cf9479;outline-offset:-5px}.sudoku-board .seat.hinted{border-color:#c8a766;animation:none;background:#faf0d6}.family-mark{position:absolute;right:5px;bottom:5px;font-size:8px;line-height:1;color:#a78e64}.family-1{color:#c58459}.family-2{color:#a78bb9}.family-3{color:#6e8394}.sudoku-mode .room:before{display:none}.sudoku-mode .room{background:#f0f0e3;padding:12px 13px 0}.sudoku-mode .room-top{font-size:9px}.family-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#f5f3e9;padding:12px 5px;border-radius:15px;margin:13px 0 17px}.family-gallery>div{text-align:center}.family-gallery svg{width:58px;max-width:100%;height:58px}.family-gallery strong{display:block;font-size:10px;font-weight:500;color:#7b846f;margin-top:3px}.rule-card{padding:11px 0;border-bottom:1px solid #e9eddf}.rule-card b{font-size:11px;color:#a9b398;font-weight:500}.rule-card b span{font-size:13px;color:#5e7352;margin-left:10px}.rule-card p{font-size:11px;line-height:1.8;margin:5px 0 0 26px;color:#949d88}.fixed-note{display:flex;gap:12px;align-items:center;background:#eef2e5;padding:10px 13px;border-radius:13px;margin-top:18px}.fixed-note>span{font-size:24px;color:#a2b38e;transform:rotate(-12deg)}.fixed-note p{font-size:11px;line-height:1.9;color:#85937a;margin:0}.fixed-note strong{font-weight:500;color:#667b59}.constraint-score{display:flex;justify-content:space-between;gap:6px;margin-top:19px;font-size:11px;color:#96a087}.constraint-score>span{padding:8px 10px;background:#f2f4eb;border-radius:9px}.constraint-score b{font-weight:500;color:#6c875b;margin-left:5px}.puzzle-tip{font-size:11px;line-height:1.9;color:#8e9c7f;margin-bottom:0}.level-nav .level-dot{width:33px;height:33px}.win-cats svg{width:96px;height:96px}.win-cats{margin-top:4px}.win-cats svg:nth-child(2){width:112px;height:112px;margin-top:-13px}.win-cats .cat-eyes{animation:none}#win-dialog[open]{animation:dialog-in .35s cubic-bezier(.2,.7,.25,1.2)}#celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1100}#celebration span{position:absolute;left:var(--x);top:70%;font-size:25px;color:var(--color);opacity:0;animation:heart-rise 1.8s ease-out var(--delay) both}.intro h1>span .cat-svg .cat-eyes{animation-delay:2.1s}@keyframes blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.12)}}@keyframes tail-wag{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(8deg)}}@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.045)}}@keyframes head-tilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes sleep-float{0%{opacity:0;transform:translateY(3px)}30%{opacity:1}100%{opacity:0;transform:translateY(-8px)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(0) scale(.4)}20%{opacity:.9}100%{opacity:0;transform:translateY(-420px) rotate(var(--turn)) scale(1.1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:740px){.intro{margin:20px 0 16px}.intro h1{font-size:31px;margin:6px 0}.intro h1>span svg{width:38px;height:38px}.header-actions{gap:8px}.sound-button{font-size:10px;padding:7px 9px}.brand-mark .cat-svg{width:36px;height:36px}.brand small{letter-spacing:.5px;font-size:6px}.mode-switch{margin-bottom:17px}.mode-switch button{padding:9px 18px;font-size:12px}.sudoku-mode .play-panel{padding:17px 12px 13px}.sudoku-mode .level-heading{padding:0 3px}.sudoku-mode .level-copy{padding:0 3px;font-size:10px;margin:7px 0 11px}.sudoku-mode .room{padding:9px 7px 0}.sudoku-board{padding:6px;gap:5px;margin-top:10px;border-radius:12px}.sudoku-board .seat{min-height:85px;padding:7px 0 4px;border-radius:8px}.sudoku-board .cat-art{width:60px;height:58px;max-width:100%}.sudoku-board .seat .name{font-size:8px;line-height:1.6}.sudoku-board .seat-number{font-size:7px;left:2px;top:2px}.sudoku-board .seat .mood{font-size:8px;right:2px;top:1px}.sudoku-board:before{width:6px;left:calc(50% - 3px);top:4px;bottom:4px}.sudoku-board:after{height:6px;top:calc(50% - 3px);left:4px;right:4px}.family-mark{font-size:6px;right:2px;bottom:4px}.sudoku-mode .status-row{font-size:10px;margin-top:15px}.sudoku-mode .tools button{font-size:10px;padding:8px 2px}.sudoku-mode .tools button>span{font-size:15px;margin-right:1px}.sudoku-mode .tools{margin-top:12px}.sudoku-mode .instruction{font-size:11px;padding:0 4px;min-height:42px}.clue-note{font-size:9px}.room-bottom{height:26px;font-size:8px}.sudoku-mode #wishes{display:block}.family-gallery{margin-top:10px}.family-gallery svg{width:60px;height:60px}.family-gallery strong{font-size:11px}.sudoku-mode .wish-panel{padding:18px 20px}.sudoku-mode .level-nav{flex-direction:row;gap:15px}.level-nav .level-dot{width:27px;height:32px}.cat-art{width:94px;height:91px;max-width:100%}.avatar{width:40px;height:44px}.avatar svg{width:40px;height:42px}.wish{gap:8px}.seat{min-height:135px}.legend{line-height:1.8}.rule-card p{font-size:12px}.fixed-note p{font-size:12px}}
@media(max-width:350px){.shell{padding:16px 10px}.brand small{display:none}.sudoku-board .cat-art{height:51px}.sudoku-board .seat{min-height:78px}.mode-switch button{padding:9px 15px}.sudoku-mode .tools button{font-size:9px}.level-nav{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#celebration{display:none}}

/* Give the board cats more of each seat, without changing their silhouette. */
.board .cat-art {
  width: min(138px, 100%);
  height: auto;
  aspect-ratio: 120 / 105;
}
.board .seat { min-height: 164px; }
.sudoku-board { max-width: 500px; }
.sudoku-board .seat { min-height: 132px; padding: 11px 1px 5px; }
.sudoku-board .cat-art { width: min(108px, 100%); }
.sudoku-board .seat .name { font-size: 11px; }
.flying-cat { will-change: transform; }
@media (max-width: 740px) {
  .sudoku-mode .shell { padding-left: 12px; padding-right: 12px; }
  .sudoku-mode .play-panel { padding-left: 8px; padding-right: 8px; }
  .sudoku-mode .room { padding-left: 4px; padding-right: 4px; }
  .sudoku-board { padding: 5px; gap: 4px; }
  .sudoku-board .seat { min-height: 108px; padding: 10px 0 4px; }
  .sudoku-board .cat-art { width: min(90px, 100%); }
  .sudoku-board .seat .name { font-size: 9px; }
  .board:not(.sudoku-board) .cat-art { width: min(120px, 100%); }
  .board:not(.sudoku-board) .seat { min-height: 150px; }
}
@media (max-width: 350px) {
  .sudoku-mode .shell { padding-left: 8px; padding-right: 8px; }
  .sudoku-board .seat { min-height: 92px; }
}
