@media (orientation:portrait) and (width<=900px){body.play-theme-pasture-whistle .play-shell[data-game-shell]{--game-width-from-height:100vw}body.play-theme-pasture-whistle .play-shell[data-game-shell] .game-stage{aspect-ratio:auto;height:max(460px,100svh - 112px)}}@media (orientation:landscape) and (height<=520px){body.play-theme-pasture-whistle .play-shell[data-game-shell]{--game-width-from-height:100vw}body.play-theme-pasture-whistle .play-shell[data-game-shell] .game-stage{aspect-ratio:auto;height:max(230px,100svh - 108px)}}body.play-theme-pasture-whistle .play-shell[data-game-shell]:fullscreen{--game-shell-max-width:100vw;--fullscreen-game-width:100vw}body.play-theme-pasture-whistle .play-shell[data-game-shell]:fullscreen .game-stage{aspect-ratio:auto;height:calc(100dvh - 56px)}body.play-theme-pasture-whistle{--player-surface:#4d7a3c;--player-ink:#fbf6e6}.pw-root{--pw-ink:#3d4a32;--pw-cream:#fdf6e3;--pw-paper:#f7efd9;--pw-leaf:#5c8f45;--pw-leaf-dark:#456f33;--pw-wood:#c08a54;--pw-line:#3d4a3224;--pw-hud-h:60px;--pw-tip-h:54px;grid-template-rows:var(--pw-hud-h) var(--pw-tip-h) minmax(0, 1fr) auto;color:var(--pw-ink);-webkit-user-select:none;user-select:none;touch-action:manipulation;background-color:#8fbd52;background-repeat:no-repeat;outline:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"hud""tip""board""side";font-family:ui-rounded,Nunito,Trebuchet MS,system-ui,sans-serif;display:grid;position:absolute;inset:0;overflow:hidden}.pw-root [hidden]{display:none!important}.pw-root.is-wide{grid-template:"board hud""board side""board tip""board."minmax(0,1fr)/minmax(0,1fr) minmax(170px,230px)}.pw-root .pw-where,.pw-score,.pw-tip,.pw-btn:not(.pw-whistle):not(.pw-primary),.pw-card-inner,.pw-results,.pw-chip:not(.is-locked){background-image:var(--pw-paper-tex);background-size:180px 180px}.pw-root.is-wide:before{content:"";background:var(--pw-wood-tex) 0 0 / 320px 168px, #b88552;border:2px solid #4a2f1b;border-radius:16px;grid-area:1/2/4;margin:8px 8px 0 2px;box-shadow:inset 0 2px #f0c99055,inset 0 -3px #4a2f1b44,6px 10px 18px #2a1c1059}.pw-hud{grid-area:hud;align-items:center;gap:8px;min-height:0;padding:6px 8px;display:flex;overflow:hidden}.pw-root.is-wide .pw-hud{flex-wrap:wrap;align-content:flex-start;gap:6px;padding:18px 18px 4px 14px;overflow:visible}.pw-where{background-color:var(--pw-cream);min-width:0;min-height:44px;color:inherit;line-height:1.15;font:inherit;cursor:pointer;text-align:left;border:2px solid #5a4630;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;padding:2px 10px 2px 8px;display:flex;box-shadow:0 2px #5a463055,0 4px 10px #2a1c1040}.pw-score{background-color:var(--pw-cream);border:2px solid #5a4630;border-radius:12px;align-items:center;gap:8px;min-height:44px;margin-left:auto;padding:2px 10px;display:flex;box-shadow:0 2px #5a463055,0 4px 10px #2a1c1040}.pw-root.is-wide .pw-score{flex-wrap:wrap;row-gap:0;min-height:40px;margin-left:0}.pw-where:focus-visible{outline-offset:2px;outline:3px solid #f2c14e}.pw-where strong{white-space:nowrap;font-size:15px}.pw-where>span{opacity:.8;white-space:nowrap;align-items:center;gap:3px;font-size:11px;display:inline-flex}.pw-where svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:13px;height:13px}.pw-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.pw-count span:first-child{font-size:18px;font-weight:800}.pw-par{opacity:.75;margin-left:4px}.pw-root.is-wide .pw-count{margin-left:0}.pw-bells{gap:2px;display:flex}.pw-bell{fill:#e6dcc2;stroke:#b9a77c;stroke-width:1.2px;width:20px;height:20px}.pw-bell.is-on{fill:#f2c14e;stroke:#b5822f}.pw-bells.pw-big{gap:6px}.pw-big .pw-bell{width:30px;height:30px}.pw-board{grid-area:board;min-width:0;min-height:0;position:relative}.pw-board canvas{touch-action:none;display:block;position:absolute;inset:0}.pw-side{flex-direction:column;grid-area:side;gap:4px;padding:6px 10px 8px;display:flex}.pw-root.is-wide .pw-side{justify-content:flex-start;padding:4px 18px 4px 14px}.pw-controls{grid-template-columns:1fr 1.5fr 1fr 1fr;gap:6px;display:grid}.pw-controls .pw-btn:not(.pw-whistle){flex-direction:column;gap:1px;padding:4px;font-size:12px}.pw-root.is-wide .pw-controls{grid-template-columns:1fr 1fr;gap:8px}.pw-root.is-wide .pw-controls .pw-btn:not(.pw-whistle){flex-direction:row;gap:6px;padding:6px 10px;font-size:15px}.pw-root.is-wide .pw-whistle{order:-1;grid-column:1/-1}.pw-root.is-wide .pw-hint{grid-column:1/-1}.pw-hint{color:#8a6234}.pw-hint small{opacity:.85;white-space:nowrap;font-size:10px;font-weight:600;line-height:1}.pw-root.is-wide .pw-hint small{font-size:12px}.pw-legend{gap:4px;margin:0 0 10px;padding:0;font-size:12.5px;list-style:none;display:grid}.pw-legend li{align-items:center;gap:8px;display:flex}.pw-legend svg{flex:none;width:20px;height:20px}.pw-legend svg.pw-legend-arrows{width:35px}.pw-how .pw-dirs{float:right;width:52px;height:52px;margin:0 0 4px 10px}.pw-map .pw-chips{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:40vh;margin:8px 0;padding:2px;display:grid;overflow:auto}.pw-chip{min-height:52px;color:inherit;font:inherit;cursor:pointer;background-color:#f3ead0;border:2px solid #5a463066;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative;box-shadow:0 2px #5a463033}.pw-chip strong{font-size:16px}.pw-chip.is-next{border-color:var(--pw-leaf);background-color:#e3efc9}.pw-chip.is-here{box-shadow:inset 0 0 0 2px #f2c14e}.pw-chip em{background:var(--pw-leaf);color:#fffbea;border-radius:8px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:800;position:absolute;top:-7px;right:-4px}.pw-chip.is-locked{cursor:default;color:#3d4a3299;background:#ece6d4;border-style:dashed}.pw-lock{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:14px;height:14px}.pw-chip-bells{gap:1px;display:inline-flex}.pw-chip-bells .pw-bell{width:13px;height:13px}.pw-today{justify-content:space-between;width:100%;margin-bottom:8px}.pw-ram-card p{margin:4px 0 12px;font-size:15px;line-height:1.35}.pw-ram-card canvas{float:right;width:64px;height:64px;margin:-4px 0 0 8px}.pw-root button{-webkit-tap-highlight-color:transparent}.pw-result{z-index:1;grid-area:1/1/3;min-height:0;padding:6px 8px 4px;overflow:hidden}.pw-root.is-won .pw-hud,.pw-root.is-won .pw-tip{display:none}.pw-root:not(.is-wide).has-card .pw-side,.pw-root:not(.is-wide).is-won .pw-side{visibility:hidden}.pw-root.is-wide .pw-result{grid-area:1/2/-1;padding:18px 18px 12px 14px}.pw-root.is-wide.is-won .pw-side{display:none}.pw-results{box-sizing:border-box;background-color:var(--pw-cream);border:2px solid #5a4630;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 8px;height:100%;padding:4px 8px;display:grid;box-shadow:0 3px #5a463055,0 6px 14px #2a1c1059}.pw-results-text{min-width:0}.pw-results h2{color:var(--pw-leaf-dark);overflow-wrap:break-word;margin:0;font-size:16px;line-height:1.12}.pw-results p{margin:1px 0 0;font-size:13px;line-height:1.15}.pw-results .pw-bells{align-self:center}.pw-results .pw-actions{flex-wrap:nowrap;grid-column:1/-1;gap:6px}.pw-results .pw-actions .pw-btn{text-align:center;flex:auto;min-width:0;padding:4px 10px;font-size:14px;line-height:1.12}.pw-root.is-wide .pw-results{grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:6px;height:auto;padding:12px 10px}.pw-root.is-wide .pw-results .pw-bells{order:-1;grid-column:1/-1}.pw-root.is-wide .pw-results-text{grid-column:1/-1;margin-bottom:4px}.pw-root.is-wide .pw-results h2{font-size:19px}.pw-root.is-wide .pw-results .pw-actions{display:contents}.pw-root.is-wide .pw-results .pw-actions .pw-primary{grid-column:1/-1}.pw-btn{background-color:var(--pw-cream);min-width:44px;min-height:46px;color:var(--pw-ink);font:inherit;cursor:pointer;border:2px solid #5a4630;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:15px;font-weight:700;transition:transform 80ms ease-out,box-shadow 80ms ease-out;display:inline-flex;box-shadow:0 3px #5a463066,0 5px 12px #2a1c1047}.pw-btn:active{transform:translateY(2px)scale(.97);box-shadow:0 1px #5a463066,0 2px 6px #2a1c1033}.pw-btn:disabled{cursor:default;color:#3d4a3280;background-color:#ece3cb;border-color:#5a4630a0;box-shadow:0 2px #5a463040}.pw-whistle:disabled{color:#f4f1e2cc;text-shadow:none;background:linear-gradient(#8fae7c,#7f9f6c)}.pw-btn:focus-visible{outline-offset:2px;outline:3px solid #f2c14e}.pw-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.pw-whistle,.pw-primary{background:linear-gradient(180deg, #6fa653, var(--pw-leaf) 55%, #4d7c39);color:#fffbea;text-shadow:0 1px #2f4a2299;border-color:#2f4a22}.pw-whistle svg path:first-child{fill:#fffbea33}.pw-tip{text-align:center;background-color:var(--pw-paper);border:2px solid #5a463099;border-radius:14px;grid-area:tip;justify-content:center;align-items:center;min-height:0;margin:1px 8px 4px;padding:2px 12px;font-size:13px;line-height:1.25;display:flex;overflow:hidden;box-shadow:0 4px 10px #2a1c1040}.pw-root.is-wide .pw-tip{text-align:left;justify-content:flex-start;align-items:flex-start;margin:6px 18px 18px 14px;padding:8px 10px}.pw-card{z-index:2;background:#3d4a3240;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:absolute;inset:0;overflow:auto}.pw-card-inner{background-color:var(--pw-cream);border:3px solid #5a4630;border-radius:20px;width:min(440px,100%);margin:auto 0;padding:16px 18px;box-shadow:inset 0 0 0 3px #f3e4bf,0 12px 30px #2a1c1059}.pw-title-head{align-items:center;gap:10px;display:flex}.pw-title-head>div{flex:auto;min-width:0}.pw-title-art{flex:none;width:104px;height:60px;display:block}.pw-card h2{color:var(--pw-leaf-dark);margin:0 0 4px;font-size:24px}.pw-sub{opacity:.85;margin:0 0 8px;font-size:14px}.pw-how{margin:0 0 12px;padding-left:20px;font-size:14px;line-height:1.35}.pw-how li+li{margin-top:4px}.pw-actions{flex-wrap:wrap;gap:8px;display:flex}.pw-actions .pw-btn{flex:140px}.pw-small{opacity:.7;margin:10px 0 0;font-size:11px}.pw-note{background:#fbe7c4;border:1px solid #e0b872;border-radius:12px;margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.35}.pw-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pw-today small{opacity:.8;margin-left:4px;font-size:12px;font-weight:600}@media (width<=420px){.pw-card{padding:8px}.pw-card-inner{padding:12px 14px}.pw-card h2{font-size:22px}.pw-title-art{width:84px;height:50px}.pw-how{margin-bottom:10px}.pw-how li+li{margin-top:3px}.pw-legend{margin-bottom:8px}}@media (height<=520px){.pw-title-art{width:80px;height:44px}.pw-card{padding:8px}.pw-legend{grid-template-columns:repeat(3,1fr);margin-bottom:6px;font-size:11.5px}.pw-legend li{align-items:flex-start;gap:5px}.pw-map .pw-chips{max-height:34vh}.pw-how{margin-bottom:6px;font-size:12.5px;line-height:1.25}.pw-how li+li{margin-top:2px}.pw-how .pw-dirs{width:40px;height:40px}.pw-card h2{font-size:19px}.pw-sub{margin-bottom:4px}.pw-card-inner{width:min(660px,100%);padding:10px 14px}.pw-small{margin-top:6px}}@media (width<=420px) and (height<=700px){.pw-card{padding:8px}.pw-card-inner{padding:12px 14px}.pw-card h2{font-size:21px}.pw-how{margin-bottom:8px;font-size:13px;line-height:1.3}.pw-how .pw-dirs{width:44px;height:44px}.pw-legend{margin-bottom:8px;font-size:12px}}@media (width<=400px){.pw-root:not(.is-wide) .pw-par{display:none}.pw-root:not(.is-wide) .pw-hud{gap:6px;padding:6px 8px}}@media (width<=340px){.pw-where strong{font-size:14px}.pw-side{padding:6px 6px 8px}.pw-controls{grid-template-columns:1fr 1.4fr 1fr 1fr;gap:4px}.pw-whistle{gap:4px;padding:6px 8px}.pw-hint small{font-size:9.5px}}.pw-root.is-wide.is-won:before{display:none}@media (height<=520px){.pw-root.is-wide:before{margin:4px 4px 0 2px}.pw-root.is-wide .pw-hud{gap:4px;padding:8px 10px 0}.pw-root.is-wide .pw-score{min-height:0;padding:1px 8px}.pw-root.is-wide .pw-par{display:none}.pw-root.is-wide .pw-side{padding:4px 10px}.pw-root.is-wide .pw-controls{grid-template-columns:1fr 1fr 1fr;gap:6px}.pw-root.is-wide .pw-controls .pw-btn:not(.pw-whistle){flex-direction:column;gap:1px;padding:4px;font-size:12px}.pw-root.is-wide .pw-hint{grid-column:auto}.pw-root.is-wide .pw-hint small{font-size:9.5px}.pw-root.is-wide .pw-controls .pw-hint{padding:4px 2px}.pw-root.is-wide .pw-tip{margin:4px 10px 6px;padding:4px 8px;font-size:12px}.pw-root.is-wide .pw-result{padding:6px 8px}}
