.purr-grid{--shadow:none;background:#f3f4ec}
.purr-grid .site-header{border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:start;margin-top:34px}
.hero-copy{padding-top:76px}
.purr-grid h1{font-size:clamp(42px,5vw,66px);max-width:370px;line-height:1.04}
.hero-copy .intro{font-size:17px;max-width:350px}
.rule-list{list-style:decimal;padding-left:20px;margin-top:25px}
.rule-list li{margin:12px 0;padding-left:5px;font-size:14px;color:var(--muted)}
.daily-link{margin-top:30px;font-weight:650}
.game-panel{border-radius:9px;box-shadow:none;padding:24px;background:#fcfcf5}
.game-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}
.game-top span{font-size:12px;font-weight:650;color:var(--muted)}
.board{display:grid;grid-template-columns:repeat(var(--n),1fr);aspect-ratio:1;max-width:470px;margin:auto;gap:0;overflow:hidden;border-radius:5px}
.cell{position:relative;min-width:0;aspect-ratio:1;border:solid #657361;border-width:1px;display:grid;place-items:center;transition:filter .15s}
.cell:hover{filter:brightness(1.04)}
.cell-icon{font-size:clamp(20px,4vw,35px);line-height:1}
.cell-icon.cat-icon{width:clamp(27px,4vw,41px);height:clamp(27px,4vw,41px);background:url('/assets/cat.svg') center/contain no-repeat}
.region-number{position:absolute;left:5px;top:3px;font-size:10px;font-weight:700;color:#495348}
.cell.conflict{box-shadow:inset 0 0 0 3px #a02f34}
.cell:focus-visible{outline:3px solid #173e2c;outline-offset:-5px;z-index:1}
.game-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:18px 0}
.segmented{display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:5px}
.segmented button{border:0;background:transparent;padding:9px 14px;border-radius:5px;color:var(--muted);font-size:13px;font-weight:650}
.segmented button[aria-pressed=true]{background:var(--accent);color:white}
.segmented button[data-tool=cat]::before{content:'';display:inline-block;width:17px;height:17px;background:url('/assets/cat.svg') center/contain no-repeat;vertical-align:-3px;margin-right:6px}
.game-tools select{width:auto;padding:7px;margin:0;font-size:13px}
.purr-grid .secondary,.purr-grid .quiet,.purr-grid .primary,.purr-grid select{border-radius:5px}
.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:14px}
.game-bottom small{font-size:11px;color:var(--muted)}
#celebration{margin:16px 0 0;border-radius:6px;padding:16px;background:#e9f0de}
.board-note{text-align:center;margin-top:10px;font-size:11px;color:var(--muted)}
.puzzle-notes{margin:55px auto 50px;font-size:14px}
.puzzle-notes h2{font-size:27px}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:19px;margin:24px auto 0;max-width:570px}.hero-copy{padding:0}.purr-grid h1{font-size:43px;max-width:none;margin:10px 0 12px}.hero-copy .intro{max-width:none;margin:12px 0;font-size:15px}.hero-copy .rule-list{display:none}.daily-link{margin:13px 0 0;font-size:14px}.hero-copy .mini{margin:9px 0 0}.game-panel{padding:17px}.cell-icon.cat-icon{width:clamp(27px,8vw,39px);height:clamp(27px,8vw,39px)}.game-tools{margin:14px 0}}
.hero-copy{padding-top:36px}.hero-copy select{max-width:310px}.daily-link{font-size:13px;margin:22px 0}.game-top #timer{font-variant-numeric:tabular-nums;font-size:12px}.assist{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.assist input{accent-color:var(--accent)}.cell.excluded::after{content:'·';position:absolute;font-size:27px;opacity:.4;color:#304236}.cell.hinted{box-shadow:inset 0 0 0 4px #173e2c}.cell.source{background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,#173e2c12 7px,#173e2c12 9px)}.cell.conflict.hinted{box-shadow:inset 0 0 0 4px #a02f34}.board[data-tool=mark]{touch-action:none}.hint-detail,.lesson-panel{font-size:13px;line-height:1.55;border-left:3px solid #56745f;padding:2px 12px;margin:14px 0;background:#edf1e5}.hint-detail p,.lesson-panel p{margin:10px 0}.hint-detail button{margin-bottom:10px}.level-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.level-grid button{border:1px solid var(--line);background:#fcfcf5;color:var(--accent);padding:9px 0;font-size:12px;border-radius:3px;min-height:34px}.level-grid button.done{background:#dfe9d8}.level-grid button[aria-current=true]{outline:2px solid var(--accent);outline-offset:-2px}#levels h3{font-size:13px;margin:15px 0 9px}#path-controls>button{margin-top:16px;font-size:12px}#path-controls>label{display:block;margin-top:23px}.daily-history{display:flex;gap:5px}.day{padding:7px 4px;font-size:10px;border:1px solid var(--line);border-radius:3px;flex:1;text-align:center}.day.done{background:#dfe9d8}.result-link{font-size:12px;align-self:center;margin:7px 0}.board-note{line-height:1.6}.game-panel .actions{gap:4px}.game-panel .actions button{font-size:12px;padding:11px 12px}.game-panel .status{font-size:13px}.game-panel #celebration .primary{font-size:13px}#level-progress{margin:12px 0 2px}@media(max-width:800px){.hero-copy{padding-top:0}#path-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 15px}#path-controls>label{margin:6px 0;flex:1 1 200px}#path-controls select{padding:9px;font-size:12px}#level-progress{flex:1 1 130px}#levels{flex:1 1 100%;padding:9px 0}#path-controls>button{margin:0}#storage-note{font-size:11px}.game-top{margin-bottom:13px}.hero-copy .daily-link{margin:12px 0}.hero-copy #daily-streak{margin:12px 0}}
@media(max-width:800px){.hero-grid{display:flex;flex-direction:column;gap:12px}.hero-copy{display:contents}.hero-copy>h1{margin:0}.hero-copy>.intro{margin:0}.hero-copy>.daily-link{margin:0 0 5px}.hero-grid>.game-panel{order:1;width:100%}#path-controls,#daily-panel{order:2;width:100%}#storage-note{order:3;width:100%;margin:0}}
.hero-grid{grid-template-rows:auto 1fr;row-gap:16px}.hero-grid>.hero-copy{grid-column:1;grid-row:1}.hero-grid>.game-panel{grid-column:2;grid-row:1/span 2}.path-panel{grid-column:1;grid-row:2}@media(max-width:800px){.hero-copy{display:block}.hero-copy>h1{margin:10px 0 12px}.hero-copy>.intro{margin:12px 0}.hero-copy>.daily-link{margin:12px 0 5px}.path-panel{order:2;width:100%}}
