[hidden]{display:none!important}:root{--bg-cream:#fbf7ec;--card-bg:#fffcf4f0;--card-border:#e5d5b5;--wood-dark:#5b3e2b;--wood-mid:#8c5a36;--wood-light:#d7b38c;--pasture-green:#58a642;--pasture-bright:#b6eb7a;--danger-red:#e05347;--gold-star:#f59e0b;--text-main:#3e2c1e;--text-muted:#7b6550;--cell-size:76px}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{min-height:100dvh;color:var(--text-main);background-color:var(--bg-cream);padding:14px 16px max(24px, env(safe-area-inset-bottom));touch-action:manipulation;background-image:linear-gradient(#fffaecb8 0%,#f6ecd6d9 100%),url(/washi/games/mofumofu-sheep/bg-pasture-meadow.jpg);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;font-family:Hiragino Maru Gothic ProN,"Rounded Mplus 1c",Noto Sans JP,system-ui,sans-serif;display:flex}.app-shell{flex-direction:column;gap:10px;width:100%;max-width:780px;display:flex}.topbar{background:var(--card-bg);border:2px solid var(--card-border);backdrop-filter:blur(8px);border-radius:18px;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;box-shadow:0 4px 14px #5b3e2b14}.brand{align-items:center;gap:10px;display:flex}.back-link{color:var(--wood-mid);background:#f3ead8;border:1px solid #dfd0b4;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .12s,background .12s}.back-link:hover{background:#eadbc0;transform:translateY(-1px)}.brand-avatar{object-fit:cover;border:2px solid var(--wood-mid);background:#fff;border-radius:50%;width:38px;height:38px}.brand-text h1{color:var(--wood-dark);font-size:1.12rem;font-weight:800;line-height:1.15}.engine-tag{color:var(--pasture-green);font-size:.72rem;font-weight:700}.topbar-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lang-switch{background:#f3ead8;border:1px solid #dfd0b4;border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.lang-btn{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 9px;font-family:inherit;font-size:.74rem;font-weight:800;transition:background .14s,color .14s}.lang-btn:hover{color:var(--wood-dark)}.lang-btn.active{background:var(--wood-dark);color:#fff8eb}.star-counter{color:#92400e;background:linear-gradient(135deg,#fff8dc,#fde68a);border:2px solid #f59e0b;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #f59e0b33}.star-icon{color:#f59e0b;font-size:1.08rem}.total-score-text{color:#b45309;font-size:.88rem;font-weight:700}.help-pill-btn{appearance:none;color:#2f5e16;cursor:pointer;background:linear-gradient(#f4fbe8,#e3f5c8);border:2px solid #99d17b;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-family:inherit;font-size:.84rem;font-weight:800;transition:transform .12s,background .12s;display:inline-flex;box-shadow:0 2px 5px #4d963024}.help-pill-btn:hover{background:linear-gradient(#f9fdef,#eaf8d3);transform:translateY(-1px)}.btn-audio{color:#5a3e1b;background:linear-gradient(#fdfaf4,#f4e9d5);border-color:#d1b892}.btn-audio[aria-pressed=true]{color:#365314;background:linear-gradient(#ecfccb,#d9f99d);border-color:#65a30d;box-shadow:0 0 10px #84cc1659}.puzzle-card{background:var(--card-bg);border:3px solid var(--card-border);backdrop-filter:blur(10px);border-radius:24px;flex-direction:column;gap:12px;padding:16px 20px 18px;display:flex;box-shadow:0 12px 32px #4a301d1f}.stage-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.stage-nav-bar{background:#f5ece0;border:2px solid #dfd0b8;border-radius:999px;align-items:center;gap:6px;padding:3px 5px;display:inline-flex}.stage-step-btn{appearance:none;color:var(--wood-dark);cursor:pointer;background:#fffdf8;border:1px solid #d5c2a5;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:900;transition:background .12s,transform .12s,opacity .12s;display:inline-flex}.stage-step-btn:hover:not(:disabled){background:#f0e2ca;transform:scale(1.05)}.stage-step-btn:disabled{opacity:.35;cursor:not-allowed}.stage-select-wrap{align-items:center;display:inline-flex;position:relative}.stage-badge{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.stage-select{-webkit-appearance:none;appearance:none;background:var(--wood-dark);color:#fff8eb;cursor:pointer;letter-spacing:.03em;background-image:linear-gradient(45deg,#0000 50%,#fde68a 50%),linear-gradient(135deg,#fde68a 50%,#0000 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:none;border-radius:999px;padding:5px 26px 5px 12px;font-family:inherit;font-size:.84rem;font-weight:800}.stage-select:hover{background-color:#704c35}.stage-title-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tutorial-chip{color:#166534;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1.5px solid #4ade80;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:800}.stage-title-group h2{color:var(--wood-dark);font-size:1.15rem;font-weight:800}.guide-banner{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:2px solid #f59e0b;border-radius:16px;align-items:center;gap:10px;padding:10px 14px;display:flex;box-shadow:0 3px 10px #f59e0b1f}.guide-banner.is-tutorial{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-color:#22c55e;box-shadow:0 4px 12px #22c55e26}.guide-banner-icon{flex-shrink:0;font-size:1.35rem;line-height:1}.stage-oneliner{color:#3b2818;font-size:.94rem;font-weight:800;line-height:1.45}.hud-bar{grid-template-columns:1.1fr 1.1fr 1.1fr;gap:10px;display:grid}.hud-pill{background:#f7efe0;border:2px solid #e2d1b3;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;display:flex}.hud-label{color:var(--text-muted);white-space:nowrap;font-size:.76rem;font-weight:700}.fence-dots{align-items:center;gap:3px;display:flex}.fence-dot{justify-content:center;align-items:center;font-size:.95rem;line-height:1;transition:transform .18s,opacity .18s;display:inline-flex}.fence-dot.used{opacity:.22;filter:grayscale();transform:scale(.82)}.fence-svg{vertical-align:-.15em;filter:drop-shadow(0 2px 3px #0003);width:1em;height:1em;display:inline-block}.cell-emoji .fence-svg{width:calc(var(--cell-size) * .62);height:calc(var(--cell-size) * .62);vertical-align:middle}.fence-dot .fence-svg{vertical-align:middle;width:1.15rem;height:1.15rem}.rule-card-icon .fence-svg{vertical-align:middle;width:2.2rem;height:2.2rem}.hud-value{color:var(--wood-dark);white-space:nowrap;font-size:.95rem;font-weight:800}.hud-stars{color:var(--gold-star);letter-spacing:1px;font-size:.92rem}.hud-pill.status-danger{color:#b91c1c;background:#fff1f0;border-color:#f7b9b4;justify-content:center}.hud-pill.status-shortfall{color:#92400e;background:#fef3c7;border-color:#f59e0b;justify-content:center}.hud-pill.status-safe{color:#365314;background:linear-gradient(135deg,#ecfccb,#d9f99d);border-color:#65a30d;justify-content:center;animation:.45s cubic-bezier(.22,1,.36,1) safePulse}.status-icon{font-size:1.1rem}.status-text{font-size:.86rem;font-weight:800}.board-stage{background:radial-gradient(circle,#e6f4d2 0%,#d4e8bc 100%);border:3px solid #b5d194;border-radius:20px;justify-content:safe center;align-items:center;max-width:100%;padding:10px;display:flex;overflow-x:auto;box-shadow:inset 0 3px 10px #4063231f}.board-grid{place-content:center;gap:7px;margin:0 auto;display:grid}.board-cell{width:var(--cell-size);height:var(--cell-size);cursor:pointer;touch-action:manipulation;background:#b8e28a;border:2px solid #69944459;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:2px;transition:transform .12s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.board-cell:hover:not(.cell-locked){border-color:var(--wood-mid);z-index:2;transform:translateY(-2px)scale(1.03);box-shadow:0 5px 12px #5b3e2b2e}.board-cell:active:not(.cell-locked){transform:scale(.95)}.board-cell.cell-locked{cursor:not-allowed}.board-cell.tile-grass{background:linear-gradient(#c5ea99 0%,#addb78 100%)}.board-cell.tile-strawberry{background:linear-gradient(#d3f3a7 0%,#b8e482 100%)}.board-cell.tile-pit{background:linear-gradient(#dbc7b0 0%,#c1a383 100%);border-color:#7853327a}.board-cell.tile-bridge{background:repeating-linear-gradient(90deg,#d6cfc2 0 10px,#c2b9a7 10px 13px);border:2px solid #8c8270}.board-cell.tile-water{background:linear-gradient(145deg,#6ec3f5 0%,#449ee0 100%);border-color:#2f80c2;box-shadow:inset 0 2px 6px #ffffff73}.board-cell.tile-rock{background:linear-gradient(145deg,#a8a29e 0%,#78716c 100%);border-color:#57534e;box-shadow:inset 0 2px 4px #ffffff4d}.board-cell.tile-sheep{background:linear-gradient(#dcfce7 0%,#bbf7d0 100%);border-color:#4ade80}.board-cell.tile-wolf{background:linear-gradient(#fecaca 0%,#fca5a5 100%);border-color:#ef4444}.board-cell.in-safe-pasture{background:linear-gradient(#ecfccb 0%,#bef264 100%);border-color:#65a30d;animation:.38s cubic-bezier(.22,1,.36,1) both pastureBloom;box-shadow:0 0 0 2px #84cc1647,inset 0 2px 8px #ffffffb3}.board-cell.in-suboptimal-pasture{background:linear-gradient(#fef9c3 0%,#fde68a 100%);border-color:#d97706;box-shadow:inset 0 2px 6px #ffffffa6}.board-cell.wolf-territory:not(.has-fence):not(.tile-wolf){box-shadow:inset 0 0 0 2px #dc262647}.board-cell.has-fence{background:linear-gradient(#cce89c 0%,#a4c965 100%);border:2px solid #5a3818;animation:.2s cubic-bezier(.34,1.56,.64,1) fencePop;box-shadow:0 4px #4a280c,inset 0 2px 6px #ffffff8c}.cell-emoji{font-size:calc(var(--cell-size) * .46);filter:drop-shadow(0 2px 2px #0000001f);line-height:1;transition:transform .2s}.board-cell.in-safe-pasture.tile-sheep .cell-emoji{animation:.65s ease-in-out infinite alternate sheepHop}.cell-score-tag{border-radius:6px;padding:0 4px;font-size:.66rem;font-weight:800;line-height:1.25;position:absolute;bottom:3px;right:4px}.cell-score-tag.score-plus{color:#15803d;background:#ffffffe0}.cell-score-tag.score-minus{color:#fff;background:#7c2d12e0}.cell-under-badge{opacity:.82;font-size:.68rem;position:absolute;bottom:2px;right:4px}.board-cell.invite-pulse,.board-cell.hint-place{outline-offset:2px;outline:3px solid #f59e0b;animation:1s ease-in-out infinite spotlightPulse}.cell-invite-tag{color:#fff;white-space:nowrap;pointer-events:none;z-index:4;background:#ea580c;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:900;position:absolute;top:-10px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #ea580c73}.board-cell.hint-remove{outline-offset:2px;outline:3px solid #ef4444;animation:.85s ease-in-out infinite spotlightPulse}.board-cell.shake-reject{animation:.28s shakeReject}.clear-banner{background:linear-gradient(135deg,#fef9c3 0%,#dcfce7 100%);border:2px solid #65a30d;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;animation:.25s cubic-bezier(.22,1,.36,1) slideUpIn;display:flex;box-shadow:0 6px 18px #65a30d2e}.clear-banner.banner-shortfall{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b29}.clear-banner.banner-shortfall .clear-copy strong{color:#92400e}.clear-banner.banner-shortfall .clear-copy span{color:#b45309}.clear-banner-main{align-items:center;gap:12px;display:flex}.clear-stars{color:#f59e0b;letter-spacing:2px;text-shadow:0 2px 4px #f59e0b40;font-size:1.55rem}.clear-copy{flex-direction:column;gap:1px;display:flex}.clear-copy strong{color:#365314;font-size:.98rem}.clear-copy span{color:#4d7c0f;font-size:.8rem;font-weight:700}.clear-actions{align-items:center;gap:8px;display:flex}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.controls-left,.controls-right{align-items:center;gap:8px;display:flex}.btn{cursor:pointer;border:2px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.86rem;font-weight:800;transition:transform .12s,background .12s,opacity .12s;display:inline-flex}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(1px)}.btn kbd{background:#00000014;border-radius:5px;padding:1px 5px;font-family:inherit;font-size:.7rem}.btn-tool{color:var(--wood-dark);background:#f3ead8;border-color:#d8c6a8}.btn-tool:not(:disabled):hover{background:#eadbc0}.btn-hint{color:#92400e;background:#fef3c7;border-color:#f59e0b}.btn-hint:not(:disabled):hover{background:#fde68a}.btn-secondary{color:#92400e;background:#fffbeb;border-color:#f59e0b}.btn-next{color:#fff;background:linear-gradient(#65b741 0%,#4d9630 100%);border-color:#36711f;box-shadow:0 3px #36711f}.btn-next:hover{background:linear-gradient(#71c44c 0%,#55a336 100%)}.legend-strip{border-top:1px solid #ece0ca;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:4px;display:flex}.legend-chip{color:var(--text-muted);background:#f6efe2;border:1px solid #e3d5bd;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}.legend-chip.chip-plus{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.legend-chip.chip-minus{color:#7c2d12;background:#fef3c7;border-color:#fcd34d}.rules-dialog{border:3px solid var(--wood-mid);width:min(92vw,540px);color:var(--text-main);background:#fffdf7;border-radius:24px;margin:auto;padding:0;box-shadow:0 20px 48px #2d1c0f59}.rules-dialog::backdrop{backdrop-filter:blur(3px);background-color:#20160e85}.rules-dialog-inner{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.rules-dialog-header{border-bottom:2px dashed #eadcc5;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.rules-dialog-header h2{color:var(--wood-dark);font-size:1.2rem;font-weight:800}.rules-close-btn{appearance:none;color:var(--wood-dark);cursor:pointer;background:#f5ece0;border:1px solid #dfd0b8;border-radius:999px;width:32px;height:32px;font-size:.9rem;font-weight:900}.rules-close-btn:hover{background:#eadbc0}.rules-steps{flex-direction:column;gap:10px;display:flex}.rule-card{background:#f9f3e6;border:1.5px solid #e6d6bc;border-radius:14px;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.rule-card-icon{flex-shrink:0;font-size:1.55rem;line-height:1.1}.rule-card-body strong{color:var(--wood-dark);margin-bottom:2px;font-size:.92rem;display:block}.rule-card-body p{color:var(--text-muted);font-size:.82rem;line-height:1.45}.rules-tutorials-box{background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.rules-tutorials-heading{color:#166534;font-size:.85rem}.rules-tutorial-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tutorial-jump-btn{appearance:none;color:#14532d;text-align:left;cursor:pointer;background:#fff;border:1.5px solid #86efac;border-radius:10px;padding:7px 10px;font-family:inherit;font-size:.8rem;font-weight:800;transition:background .12s,transform .12s}.tutorial-jump-btn:hover{background:#dcfce7;transform:translateY(-1px)}.rules-dialog-footer{justify-content:center;padding-top:4px;display:flex}@keyframes fencePop{0%{transform:scale(.72)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pastureBloom{0%{filter:brightness(1.18);transform:scale(.92)}60%{transform:scale(1.03)}to{filter:brightness();transform:scale(1)}}@keyframes sheepHop{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(1.07)}}@keyframes spotlightPulse{0%,to{box-shadow:0 0 #f59e0b8c}50%{box-shadow:0 0 0 8px #f59e0b00}}@keyframes shakeReject{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes slideUpIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes safePulse{0%{transform:scale(.96)}50%{transform:scale(1.03)}to{transform:scale(1)}}@media (width<=640px){body{padding:8px 8px max(16px, env(safe-area-inset-bottom))}.app-shell{gap:8px}.topbar{border-radius:14px;gap:6px;padding:6px 10px}.brand{gap:6px}.brand-avatar{width:32px;height:32px}.brand-text h1{font-size:.94rem}.engine-tag{font-size:.65rem}.back-link{padding:4px 7px;font-size:.72rem}.topbar-stats{gap:4px}.help-pill-btn,.btn-audio{min-height:32px;padding:4px 8px;font-size:.76rem}.star-counter{padding:4px 8px;font-size:.8rem}.star-icon{font-size:.95rem}.lang-switch{gap:1px;padding:1px}.lang-btn{padding:3px 6px;font-size:.68rem}.puzzle-card{border-radius:18px;gap:8px;padding:10px 10px 12px}.stage-header{flex-flow:wrap;justify-content:space-between;align-items:center;gap:6px}.stage-nav-bar{gap:4px;padding:2px 4px}.stage-step-btn{width:34px;height:34px;font-size:.85rem}.stage-select{padding:4px 22px 4px 9px;font-size:.78rem}.stage-title-group{gap:6px}.tutorial-chip{padding:2px 7px;font-size:.7rem}.stage-title-group h2{font-size:1.02rem}.guide-banner{border-radius:12px;gap:6px;padding:6px 10px}.guide-banner-icon{font-size:1.15rem}.stage-oneliner{font-size:.82rem;line-height:1.35}.hud-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hud-pill{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;padding:5px 4px;overflow:hidden}.hud-label{white-space:normal;word-break:break-word;font-size:.66rem;line-height:1.1}.hud-value{white-space:normal;word-break:break-word;font-size:.78rem;line-height:1.15}.fence-dots{flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%;display:flex}.fence-dot .fence-svg{width:.82rem;height:.82rem}.fence-dots.dense .fence-dot .fence-svg{width:.72rem;height:.72rem}.status-icon{font-size:.95rem}.status-text{white-space:normal;word-break:break-word;font-size:.74rem;line-height:1.15}.board-stage{-webkit-overflow-scrolling:touch;border-radius:14px;padding:6px}.board-grid{gap:5px}.board-cell{border-radius:10px}.btn kbd{display:none}.controls-bar,.controls-left,.controls-right{gap:6px}.btn{touch-action:manipulation;border-radius:10px;min-height:38px;padding:6px 10px;font-size:.8rem}.clear-banner{text-align:center;border-radius:12px;flex-direction:column;gap:8px;padding:8px 12px}.clear-banner-main{justify-content:center;gap:8px}.clear-stars{font-size:1.3rem}.clear-copy strong{font-size:.9rem}.clear-copy span{font-size:.75rem}.clear-actions{justify-content:center;gap:6px;width:100%}.clear-actions .btn{flex:1;justify-content:center;min-height:40px}.legend-strip{gap:4px;padding-top:3px}.legend-chip{padding:2px 6px;font-size:.68rem}.rules-dialog{border-radius:18px;width:min(94vw,540px);max-height:88dvh}.rules-dialog-inner{-webkit-overflow-scrolling:touch;gap:10px;max-height:88dvh;padding:14px;overflow-y:auto}.rules-dialog-header h2{font-size:1.05rem}.rule-card{border-radius:12px;gap:8px;padding:8px 10px}.rule-card-icon{font-size:1.3rem}.rule-card-icon .fence-svg{width:1.8rem;height:1.8rem}.rule-card-body strong{font-size:.86rem}.rule-card-body p{font-size:.78rem}.rules-tutorials-box{border-radius:12px;gap:6px;padding:10px}.rules-tutorials-heading{font-size:.8rem}.rules-tutorial-grid{gap:6px}.tutorial-jump-btn{min-height:36px;padding:6px 8px;font-size:.76rem}}@media (width<=380px){.brand-text h1{font-size:.86rem}.engine-tag{display:none}.topbar-stats{gap:2px}.star-counter{padding:3px 6px;font-size:.74rem}.help-pill-btn,.btn-audio{padding:3px 6px;font-size:.72rem}.stage-title-group h2{font-size:.95rem}.stage-oneliner{font-size:.78rem}.hud-pill{padding:4px 2px}.hud-label{font-size:.6rem}.hud-value{font-size:.72rem}.fence-dot .fence-svg{width:.72rem;height:.72rem}.fence-dots.dense .fence-dot .fence-svg{width:.64rem;height:.64rem}.status-text{font-size:.68rem}.btn{padding:5px 8px;font-size:.76rem}}@media (height<=520px) and (orientation:landscape){body{padding:4px 6px max(8px, env(safe-area-inset-bottom))}.app-shell{gap:4px}.topbar{border-radius:10px;padding:3px 8px}.puzzle-card{border-radius:12px;gap:5px;padding:6px 8px 8px}.guide-banner{border-radius:8px;padding:4px 8px}.hud-bar{gap:4px}.hud-pill{padding:3px 5px}.board-stage{padding:4px}.controls-bar{gap:4px}.legend-strip{display:none}}
