.merge-shell{--merge-ink:#805b35;--merge-line:#dfcda0;min-width:0;overflow:hidden;border:1.5px solid var(--merge-line);border-radius:16px;background:#fff5d7}.merge-main{min-width:0;padding:8px}.merge-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;width:min(100%,420px);min-height:44px;margin-inline:auto}.merge-stat{min-width:0;color:var(--merge-ink)}.merge-stat>span{display:block;color:#9b7b4f;font-size:9px;font-weight:950;line-height:1.2;letter-spacing:1px}.merge-stat>strong{display:block;font-family:Fredoka Variable,sans-serif;font-weight:550;font-size:clamp(20px,6vw,28px);line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.merge-actions{display:flex;gap:6px}.merge-actions button{display:grid;place-content:center;gap:1px;justify-items:center;width:44px;height:44px;padding:0;border:1px solid #d9c798;border-radius:11px;background:#fffdf4;color:var(--merge-ink);touch-action:manipulation}.merge-actions button>span{font-size:26px;font-weight:850;line-height:26px}.merge-actions button>small{font-size:8px;font-weight:950;line-height:10px}.merge-actions button:disabled{opacity:.4}.merge-actions button:active:not(:disabled){background:#f6e6b4}.merge-board{position:relative;width:min(100%,420px,calc(100svh - 314px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));min-height:0;aspect-ratio:1;margin:8px auto 0;padding:7px;isolation:isolate;border:2px solid #c7ad78;border-radius:14px;background:#dfc99b;box-shadow:inset 0 2px 0 #c4a36d35,0 3px 0 #bfa67119;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline-offset:3px}.merge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px;width:100%;height:100%;pointer-events:none}.merge-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;border:1px solid #c7ad7860;border-radius:9px;background:#ecddb9}.merge-cell.merge-tile{border-color:color-mix(in srgb,var(--merge-tile-line),transparent 65%);background:var(--merge-tile-bg);box-shadow:0 2px 0 #af956234,inset 0 1px 0 #fffefa90}.merge-cell>.merge-character{width:72%;height:70%;margin-top:-2%;flex-shrink:1}.merge-cell>strong{z-index:1;margin-top:-5%;color:var(--merge-tile-line);font-family:Fredoka Variable,sans-serif;font-size:clamp(15px,5vw,23px);font-weight:550;line-height:1.05;white-space:nowrap;font-variant-numeric:tabular-nums}.merge-cell[data-value="1024"]>strong,.merge-cell[data-value="2048"]>strong,.merge-cell[data-value="4096"]>strong,.merge-cell[data-value="8192"]>strong{font-size:clamp(13px,4.3vw,21px)}.merge-cell[data-value="131072"]>strong,.merge-cell[data-value="16384"]>strong,.merge-cell[data-value="32768"]>strong,.merge-cell[data-value="65536"]>strong{font-size:clamp(10px,3.5vw,17px)}.merge-character{position:relative;display:inline-block;width:80px;aspect-ratio:1}.merge-character>svg{display:block;position:absolute;inset:0;width:100%;height:100%}.merge-character>svg:not(.merge-accessory)>path:first-of-type{fill:var(--merge-color);stroke:var(--merge-tile-line)}.merge-character>svg:not(.merge-accessory)>path:nth-of-type(2){stroke:var(--merge-tile-line);opacity:.45}.merge-character>svg:not(.merge-accessory)>ellipse:nth-of-type(2),.merge-character>svg:not(.merge-accessory)>ellipse:nth-of-type(3){fill:#ffddc7;opacity:.7}.merge-character>svg:not(.merge-accessory)>path:last-of-type{stroke:var(--merge-tile-line)}.merge-character .merge-accessory{z-index:1;overflow:visible}.merge-progress{display:flex;align-items:center;justify-content:space-between;gap:7px;width:min(100%,420px);min-height:20px;margin:8px auto 0;color:#9b8057;font-size:10px;line-height:15px}.merge-progress>span{white-space:nowrap}.merge-progress strong{color:#805b35;font-weight:900;font-variant-numeric:tabular-nums}.merge-goal{display:flex;align-items:center;gap:4px}.merge-goal>svg{color:#ad8a42}.merge-controls{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;width:min(100%,420px);margin:8px auto 0}.merge-direction{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:48px;padding:5px;border:1px solid #dac591;border-radius:12px;background:linear-gradient(145deg,#fffef8,#fff3cd);color:var(--merge-ink);box-shadow:inset 0 1px 0 #fffefa,0 3px 0 #bc9c5320;touch-action:manipulation;transition:background .12s,transform .12s}.merge-direction>span{font-family:Nunito Variable,sans-serif;font-size:30px;font-weight:800;line-height:30px}.merge-direction>small{display:none;text-transform:uppercase;font-size:9px;font-weight:950;letter-spacing:.8px}.merge-direction:active:not(:disabled){transform:translateY(2px);background:#f5dc94;box-shadow:inset 0 2px 3px #ab863122}.merge-direction:disabled{opacity:.45}.merge-control-hint{margin-top:6px;color:#9e8258;font-size:10px;line-height:14px;text-align:center}.merge-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:12px;border-radius:11px;background:#fcf1d3c9}.merge-overlay-card{width:100%;max-width:330px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:22px 16px;border:1px solid #d5ba7a;border-radius:14px;background:#fffdf2f5;box-shadow:0 4px 0 #bea26a19;text-align:center}.merge-overlay-kicker{display:block;color:#a38758;font-size:8px;letter-spacing:1px;font-weight:950}.merge-overlay-card h2{margin-top:8px;color:#805b35;font-size:29px;line-height:1.1}.merge-overlay-card p{margin:10px auto 16px;max-width:270px;color:var(--muted);font-size:13px;line-height:1.6}.merge-overlay-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.merge-overlay-actions .button{width:min(100%,230px);min-height:44px;padding:9px 12px;gap:8px;font-size:13px}.merge-side{min-width:0;padding:16px;border-top:1px solid #e8daba;background:#fffdf5}.merge-note{display:none}.merge-discovery-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.merge-discovery-heading h3{color:var(--merge-ink);font-size:15px}.merge-discovery-heading>span{color:#a48b64;font-size:10px;font-weight:850;white-space:nowrap}.merge-discoveries ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.merge-discoveries li{display:flex;flex-direction:column;align-items:center;padding:4px 2px 6px;min-width:0;border:1px solid #e4dac4;border-radius:9px;background:#f5f1e7}.merge-discoveries li[data-discovered=false] .merge-character{opacity:.3;filter:grayscale(1)}.merge-discoveries li[data-discovered=true]{background:var(--merge-tile-bg);border-color:color-mix(in srgb,var(--merge-tile-line),transparent 65%)}.merge-discoveries li>.merge-character{width:100%;height:auto;max-width:52px}.merge-discoveries li>span:last-child{color:#8c7656;font-size:9px;line-height:12px;font-weight:850}.merge-guide{margin-top:16px;border:1px solid #e6d8b8;border-radius:10px;background:#fbf5e5}.merge-guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 13px;list-style:none;color:var(--merge-ink);font-size:13px;font-weight:900;cursor:pointer;touch-action:manipulation}.merge-guide summary:after{content:"+";font-size:20px}.merge-guide[open] summary:after{content:"−"}.merge-guide p{padding:0 13px 13px;color:var(--muted);font-size:12px;line-height:1.7}.merge-guide p>strong{display:block;color:var(--merge-ink)}.merge-save{display:flex;align-items:flex-start;gap:6px;margin-top:14px;color:#a18b65;font-size:11px;line-height:1.6}.merge-save>svg{margin-top:2px}.merge-reset{width:calc(100% - 32px)}.merge-reset .modal-actions{flex-wrap:wrap}.merge-reset .button{min-height:44px}.game-frame-merge.is-expanded .merge-shell{display:flex;height:100%;min-height:0}.game-frame-merge.is-expanded .merge-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;padding:8px}.game-frame-merge.is-expanded .merge-controls,.game-frame-merge.is-expanded .merge-progress,.game-frame-merge.is-expanded .merge-toolbar{flex-shrink:0}.game-frame-merge.is-expanded .merge-board{flex-shrink:0;width:min(100%,420px,calc(100dvh - 248px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.game-frame-merge.is-expanded .merge-control-hint{flex-shrink:0}.game-frame-merge.is-expanded .merge-side{display:none}@media (max-height:640px),(max-width:360px){.merge-overlay{padding:8px}.merge-overlay-card{padding:14px 10px}.merge-overlay-kicker{display:none}.merge-overlay-card h2{margin-top:0;font-size:23px}.merge-overlay-card p{margin-block:8px 11px;font-size:11px;line-height:1.5}.merge-overlay-actions{gap:8px}.merge-overlay-actions .button{font-size:12px}}@media (min-width:761px) and (min-height:501px){.merge-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:19px}.merge-main{display:flex;flex-direction:column;justify-content:flex-start;padding:28px;background:radial-gradient(circle at 50% 45%,#fff9e5,#fff1cc)}.merge-toolbar{gap:20px}.merge-stat>strong{font-size:33px}.merge-actions{gap:8px}.merge-actions button{width:48px;height:48px}.merge-actions button>small{font-size:9px}.merge-board{width:min(100%,420px);margin-top:16px;padding:10px;border-radius:17px}.merge-grid{gap:9px}.merge-cell{border-radius:11px}.merge-cell>strong{font-size:26px}.merge-progress{margin-top:12px;font-size:11px}.merge-controls{margin-top:12px;gap:10px}.merge-direction{min-height:55px}.merge-direction>small{display:block}.merge-direction>span{font-size:26px}.merge-control-hint{margin-top:10px;font-size:11px;line-height:16px}.merge-side{padding:28px 24px;border-top:0;border-left:1px solid #e8daba}.merge-note{display:block}.merge-note>.merge-character{width:88px;transform:rotate(-6deg)}.merge-note .eyebrow{display:block;margin-top:16px;font-size:9px;letter-spacing:1px}.merge-note h2{margin-top:15px;font-size:31px;line-height:1.1;letter-spacing:-.4px}.merge-note h2>span{color:#b99452}.merge-note p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.7}.merge-discoveries{margin-top:27px}.merge-discoveries ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.merge-guide{margin-top:22px}.merge-save{font-size:11px;margin-top:18px}.game-frame-merge.is-expanded .merge-toolbar{min-height:48px}.game-frame-merge.is-expanded .merge-board{width:min(100%,420px,calc(100dvh - 292px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}@media (orientation:landscape) and (max-height:500px){.merge-shell{display:block}.merge-main{display:grid;grid-template-columns:auto 200px;grid-template-rows:auto auto auto auto;align-items:center;justify-content:center;gap:8px 20px;padding:8px}.merge-board{grid-column:1;grid-row:1/5;width:min(420px,calc(100svh - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0}.merge-toolbar{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;width:200px}.merge-stat>strong{font-size:23px}.merge-actions{grid-column:1/3;justify-content:center}.merge-progress{grid-column:2;grid-row:2;width:200px;margin:0;font-size:10px;gap:5px}.merge-goal{display:none}.merge-controls{grid-column:2;grid-row:3;width:200px;gap:6px;margin:0}.merge-direction{min-height:44px;padding:3px;border-radius:10px}.merge-direction>span{font-size:27px}.merge-control-hint{grid-column:2;grid-row:4;width:200px;margin:0;font-size:9px;line-height:14px}.merge-side{display:none}.merge-cell>strong{font-size:16px}.merge-cell>.merge-character{width:66%;height:64%}.merge-overlay-card{padding:12px 9px}.merge-overlay-card h2{font-size:22px}.merge-overlay-card p{font-size:11px;line-height:1.4}.game-frame-merge.is-expanded .merge-main{display:grid;grid-template-columns:auto 200px}.game-frame-merge.is-expanded .merge-board{width:min(420px,calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));height:min(420px,calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.game-frame-merge.is-expanded .merge-controls,.game-frame-merge.is-expanded .merge-progress,.game-frame-merge.is-expanded .merge-toolbar{width:200px}}@keyframes merge-pop{0%{transform:scale(.83)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes merge-appear{0%{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.merge-cell.is-merged{animation:merge-pop .2s ease-out}.merge-cell.is-spawned{animation:merge-appear .15s ease-out}}.stack-shell{--stack-ink:#526f5b;--stack-line:#b8cdb9;min-width:0;overflow:hidden;border:1.5px solid var(--stack-line);border-radius:16px;background:#edf3e9}.stack-main{min-width:0;padding:8px 10px 10px}.stack-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:6px;min-height:44px;max-width:360px;margin-inline:auto}.stack-stat{min-width:0;color:var(--stack-ink)}.stack-stat>span{display:block;font-size:9px;line-height:1.2;letter-spacing:.8px;font-weight:900}.stack-stat strong{display:block;font-family:Fredoka Variable,sans-serif;font-size:clamp(21px,6vw,27px);font-weight:550;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.stack-actions{display:flex;gap:6px}.stack-actions button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--stack-line);border-radius:11px;background:#fffdf6;color:var(--stack-ink);font-size:20px;font-weight:900;touch-action:manipulation}.stack-actions button:disabled{opacity:.4}.stack-actions button:active:not(:disabled){background:#d6e6d6}.stack-board{position:relative;width:min(100%,360px,calc((100svh - 278px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077));aspect-ratio:9/13;margin:8px auto 0;overflow:hidden;isolation:isolate;border:2px solid #a4bea9;border-radius:13px;background:#d6e8d9;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stack-scene{display:block;width:100%;height:100%;pointer-events:none}.stack-board:focus-visible{outline:3px solid #8d733e;outline-offset:2px}.stack-world{transition:transform .18s ease-out}.stack-feedback{position:absolute;top:16%;left:50%;z-index:1;transform:translateX(-50%);width:max-content;max-width:calc(100% - 12px);padding:6px 10px;border:1px solid #a8bd9d;border-radius:8px;background:#fffdf1ed;color:#617b55;font-size:11px;font-weight:950;pointer-events:none;text-align:center}.stack-feedback.is-perfect{border-color:#c4a663;background:#fff1c4f0;color:#8e713c}.stack-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:10px;background:#e7f0e59e}.stack-overlay-card{width:100%;max-width:310px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:22px 15px;border:1px solid #b7c8ac;border-radius:15px;background:#fffdf4f5;box-shadow:0 5px 0 #78916512;text-align:center}.stack-overlay-kicker{display:block;color:#8aa078;font-size:8px;letter-spacing:1.1px;font-weight:950}.stack-mascot{display:block;width:108px;height:44px;margin:15px auto 8px;transform:rotate(-6deg)}.stack-overlay-card h2{margin-top:7px;font-size:32px;line-height:1.05;letter-spacing:-.4px;color:var(--stack-ink)}.stack-overlay-card p{margin:12px auto 16px;max-width:235px;color:var(--muted);font-size:13px;line-height:1.55}.stack-overlay-card .stack-start{min-height:44px;max-width:100%;padding:10px 13px;font-size:13px;gap:8px}.stack-overlay-card>small{display:block;margin-top:12px;color:#93a080;font-size:10px;line-height:1.5}.stack-result{display:block;margin:-5px 0 13px;color:#a4894d;font-size:10px;font-weight:950;letter-spacing:1px}.stack-controls{justify-content:space-between;gap:12px;max-width:360px;min-height:54px;margin:10px auto 0}.stack-controls,.stack-drop{display:flex;align-items:center}.stack-drop{justify-content:center;gap:9px;flex:1;min-height:52px;padding:10px 12px;border:1px solid #9fb296;border-radius:12px;background:#ddeacb;box-shadow:0 3px 0 #adbf97;color:#526c45;font-size:12px;letter-spacing:.8px;font-weight:950;touch-action:manipulation;transition:background .12s,transform .12s}.stack-drop>svg{flex-shrink:0}.stack-drop kbd{display:none;padding:2px 4px;border:1px solid #adc09c;border-radius:4px;font-family:inherit;font-size:8px;letter-spacing:.5px}.stack-drop:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #adbf97;background:#cadfae}.stack-drop:disabled{opacity:.5;box-shadow:none}.stack-streak{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 5px;color:#a18a51;font-size:17px;min-width:67px;text-align:center}.stack-streak strong{font-family:Fredoka Variable,sans-serif;font-size:23px;font-weight:550;line-height:1.2}.stack-streak small{grid-column:1/3;font-size:7px;font-weight:900;letter-spacing:.6px;line-height:1.3}.stack-control-hint{margin-top:7px;color:#8ea183;text-align:center;font-size:9px;line-height:15px}.stack-side{min-width:0;padding:16px;border-top:1px solid #d6e1ca;background:#fffdf5}.stack-note{display:none}.stack-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.stack-records>div{min-width:0}.stack-records dt{color:#91a182;font-size:10px;font-weight:850;line-height:1.4}.stack-records dd{margin:4px 0 0;font-family:Fredoka Variable,sans-serif;font-size:22px;line-height:1.2;color:var(--stack-ink);overflow-wrap:anywhere}.stack-guide{border:1px solid #dce4d1;border-radius:10px;background:#f6f8ee}.stack-guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 13px;list-style:none;color:var(--stack-ink);font-size:13px;font-weight:900;cursor:pointer;touch-action:manipulation}.stack-guide summary:after{content:"+";font-size:20px}.stack-guide[open] summary:after{content:"−"}.stack-guide p{padding:0 13px 13px;font-size:12px;line-height:1.7;color:var(--muted)}.stack-guide p>strong{display:block;color:var(--stack-ink)}.stack-guide kbd{padding:1px 4px;border:1px solid #d5dfc8;border-radius:4px;font-size:10px;background:#fffdf6}.stack-save{display:flex;align-items:flex-start;gap:6px;margin-top:12px;color:#94a087;font-size:11px;line-height:1.6}.stack-save>svg{flex-shrink:0;margin-top:2px}.game-frame-stack.is-expanded .stack-shell{display:flex;height:100%;min-height:0}.game-frame-stack.is-expanded .stack-main{display:flex;flex:1;flex-direction:column;align-items:center;min-width:0;min-height:0;padding:8px}.game-frame-stack.is-expanded .stack-controls,.game-frame-stack.is-expanded .stack-toolbar{width:min(100%,360px);flex-shrink:0}.game-frame-stack.is-expanded .stack-board{flex-shrink:0;width:min(100%,360px,calc((100dvh - 212px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077));margin:auto}.game-frame-stack.is-expanded .stack-control-hint{flex-shrink:0}.game-frame-stack.is-expanded .stack-side{display:none}@media (max-width:760px){.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar{min-height:44px;height:44px;margin-bottom:6px}.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar>span{display:block}.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar button{position:static}.game-frame-stack:not(.is-expanded) .stack-shell:not([data-phase=ready]) .stack-board{width:min(100%,360px,calc((100svh - 205px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077))}}@media (max-height:640px),(max-width:360px){.stack-overlay-card>small,.stack-overlay-kicker{display:none}.stack-overlay-card{padding:13px 10px}.stack-mascot{width:78px;height:32px;margin:2px auto 7px}.stack-overlay-card h2{margin-top:0;font-size:25px}.stack-overlay-card p{margin-block:8px 12px;font-size:11px}.stack-overlay-card .stack-start{padding-inline:10px;font-size:12px}}@media (max-width:360px){.stack-toolbar{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.stack-score{display:none}.stack-control-hint{font-size:8px}}@media (min-width:761px) and (min-height:501px){.stack-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-radius:19px}.stack-main{padding:24px;background:radial-gradient(circle at 50% 40%,#eff5e7,#e3eddc)}.stack-toolbar{gap:12px}.stack-stat strong{font-size:30px}.stack-board{width:min(100%,360px);margin-top:16px;border-radius:16px}.stack-overlay{padding:18px}.stack-overlay-card{padding:28px 20px}.stack-overlay-card h2{font-size:35px}.stack-overlay-card p{font-size:14px;margin-block:14px 20px}.stack-overlay-card .stack-start{min-height:48px;font-size:14px}.stack-controls{margin-top:16px}.stack-drop{min-height:56px}.stack-drop kbd{display:block}.stack-control-hint{margin-top:12px;font-size:11px}.stack-side{padding:32px 26px;border-top:0;border-left:1px solid #d6e1ca}.stack-note{display:block}.stack-note .eyebrow{font-size:8px;letter-spacing:1px}.stack-note h2{margin-top:18px;font-size:36px;line-height:1.1;color:var(--stack-ink)}.stack-note h2>span{color:#b5995b}.stack-note p{margin-top:15px;color:var(--muted);font-size:14px;line-height:1.8}.stack-records{grid-template-columns:1fr;gap:18px;margin-block:30px}.stack-records dt{font-size:11px}.stack-records dd{font-size:27px}.stack-save{font-size:12px;margin-top:18px}}@media (orientation:landscape) and (max-height:500px){.stack-shell{display:block}.stack-main{display:grid;grid-template-columns:auto 180px;grid-template-rows:auto 1fr auto;align-items:center;justify-content:center;gap:7px 18px;padding:8px}.stack-board{grid-column:1;grid-row:1/4;width:min(360px,calc((100svh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077));margin:0}.stack-toolbar{grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));width:180px;min-height:44px;gap:6px}.stack-actions{grid-column:1/4;justify-content:center}.stack-stat strong{font-size:21px}.stack-controls{grid-column:2;grid-row:2;flex-direction:column;width:180px;gap:12px;margin:0}.stack-drop{flex:none;width:100%}.stack-control-hint{grid-column:2;grid-row:3;width:180px;margin:0;font-size:9px;line-height:14px}.stack-overlay{padding:8px}.stack-overlay-card{padding:12px 9px}.stack-overlay-card h2{font-size:22px}.stack-overlay-card p{font-size:10px;margin-block:7px 10px;line-height:1.4}.stack-mascot{display:none}.stack-overlay-card .stack-start{font-size:11px;padding:8px;gap:5px}.stack-overlay-card .stack-start>svg:last-child,.stack-side{display:none}.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar{min-height:44px;height:44px;margin-bottom:4px}.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar>span{display:block}.game-frame-stack:not(.is-expanded):has(.stack-shell:not([data-phase=ready])) .game-frame-toolbar button{position:static}.game-frame-stack:not(.is-expanded) .stack-shell:not([data-phase=ready]) .stack-board{width:min(360px,calc((100svh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077))}.game-frame-stack.is-expanded .stack-main{display:grid;grid-template-columns:auto 180px}.game-frame-stack.is-expanded .stack-board{width:min(360px,calc((100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6923077));margin:0}.game-frame-stack.is-expanded .stack-controls,.game-frame-stack.is-expanded .stack-toolbar{width:180px}}.catch-shell{--catch-ink:#895334;--catch-line:#e2c6a8;display:grid;grid-template-columns:minmax(0,1fr) 300px;min-width:0;border:1.5px solid var(--catch-line);border-radius:18px;overflow:hidden;background:#fffaf1}.catch-main{min-width:0;padding:20px}.catch-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;text-align:center}.catch-stats>div{padding:9px 4px 8px;border:1px solid #ecd6bd;border-radius:13px;background:#fbe9d3}.catch-stats dt{color:#8d7159;font-size:9px;line-height:1.4;letter-spacing:.6px;font-weight:900}.catch-stats dd{margin:2px 0 0;color:var(--catch-ink);font-family:Fredoka Variable,sans-serif;font-size:31px;font-weight:550;line-height:1.1;font-variant-numeric:tabular-nums}.catch-stats>div[data-urgent=true]{border-color:#cb8b63;background:#faddc4}.catch-field{position:relative;height:340px;min-width:0;min-height:112px;overflow:hidden;border:1px dashed #d6b18b;border-radius:16px;background-color:#fff7eb;background-image:radial-gradient(#e8c49d 1px,transparent 0);background-size:23px 23px}.catch-idle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.catch-idle[hidden],.catch-target[hidden]{display:none}.catch-idle>img{flex-shrink:0;margin-bottom:12px;transform:rotate(-7deg)}.catch-idle h2{color:var(--catch-ink);font-size:26px;line-height:1.15}.catch-idle p{max-width:250px;margin-top:12px;color:#90735a;font-size:12px;line-height:1.7}.catch-target{position:absolute;display:grid;place-items:center;width:72px;height:72px;margin:0;padding:4px;border:0;border-radius:50%;background:#fff0d9;box-shadow:0 3px 0 #d4ae8540;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.catch-target img{display:block;width:64px;height:64px;pointer-events:none}.catch-target:focus-visible{outline:3px solid #a4643c;outline-offset:3px}.catch-target.is-catching img{animation:catch-pop .22s ease-out}.catch-controls{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:16px}.catch-start{min-width:155px;min-height:44px;padding:10px 23px;border:1px solid #8b5330;border-radius:25px;background:#a76842;color:#fffaf1;font-size:13px;line-height:1.4;font-weight:900;box-shadow:0 3px 0 #89533422;touch-action:manipulation}.catch-start:hover:not(:disabled){background:#8e5533}.catch-start:disabled{border-color:#d9bfa6;background:#e7cfb8;color:#79583f;box-shadow:none;cursor:default}.catch-source:focus-visible,.catch-start:focus-visible{outline:3px solid #a4643c;outline-offset:4px}.catch-status{max-width:100%;min-height:34px;margin:0;text-align:center;color:#81634b;font-size:11px;line-height:1.6}.catch-source{display:inline-flex;justify-content:center;align-items:center;min-height:24px;max-width:100%;color:#8b6548;font-size:10px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.catch-source:hover{color:#5e3c26}.catch-side{padding:35px 27px;border-left:1px solid var(--catch-line);background:#fffcf6}.catch-side>h2{margin-top:14px;font-size:31px;line-height:1.1}.catch-side>h2 span{color:#b98158}.catch-side>p{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.85}.catch-guide{margin-top:28px;padding-top:23px;border-top:1px solid #ecd6bd}.catch-guide h3{margin-bottom:16px;font-size:17px}.catch-guide p{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.8}.catch-guide strong{display:block;margin-bottom:3px;color:var(--catch-ink);font-size:12px}@keyframes catch-pop{0%{transform:scale(.82) rotate(-6deg)}65%{transform:scale(1.08) rotate(3deg)}to{transform:scale(1) rotate(0)}}.game-frame-catch.is-expanded .game-frame-content{overflow:hidden}.game-frame-catch.is-expanded .catch-shell{display:flex;height:100%;min-height:0}.game-frame-catch.is-expanded .catch-main{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:12px}.game-frame-catch.is-expanded .catch-stats{width:min(100%,640px);flex-shrink:0;margin:0 auto 12px}.game-frame-catch.is-expanded .catch-field{flex:1;width:min(100%,900px);height:auto;margin-inline:auto}.game-frame-catch.is-expanded .catch-controls{flex-shrink:0;gap:6px;margin-top:10px}.game-frame-catch.is-expanded .catch-side{display:none}@media (max-width:1050px){.catch-shell{grid-template-columns:minmax(0,1fr) 260px}.catch-side{padding:28px 22px}}@media (max-width:760px){.catch-shell{display:block;border-radius:14px}.catch-main{padding:10px}.catch-stats{gap:6px;margin-bottom:10px}.catch-stats>div{padding:7px 2px;border-radius:10px}.catch-stats dt{font-size:8px;letter-spacing:.3px}.catch-stats dd{font-size:27px}.catch-field{height:clamp(180px,calc(100svh - 355px),340px);border-radius:13px}.catch-idle{padding:15px}.catch-idle>img{width:70px;height:70px;margin-bottom:9px}.catch-idle h2{font-size:22px}.catch-idle p{margin-top:8px;font-size:11px}.catch-controls{gap:7px;margin-top:12px}.catch-side{display:none}.game-frame-catch.is-expanded .catch-main{padding:8px}.game-frame-catch.is-expanded .catch-stats{margin-bottom:8px}}@media (orientation:landscape) and (max-height:500px){.catch-shell{display:block}.catch-main{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:auto 1fr;gap:8px 14px;padding:10px}.catch-field{grid-column:1;grid-row:1/3;height:max(130px,calc(100svh - 145px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.catch-stats{grid-column:2;grid-row:1;gap:5px;margin:0}.catch-stats>div{padding:6px 2px}.catch-stats dt{font-size:7px;letter-spacing:0}.catch-stats dd{font-size:24px}.catch-controls{grid-column:2;grid-row:2;justify-content:center;gap:7px;margin:0}.catch-status{min-height:0;font-size:10px}.catch-source{font-size:9px}.catch-idle>img{width:56px;height:56px;margin-bottom:7px}.catch-idle h2{font-size:20px}.catch-idle p{margin-top:7px;font-size:11px}.catch-side{display:none}.game-frame-catch.is-expanded .catch-main{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:auto 1fr;gap:8px 14px;padding:8px}.game-frame-catch.is-expanded .catch-field{height:100%;width:100%;min-height:112px;margin:0}.game-frame-catch.is-expanded .catch-stats{width:100%;margin:0}.game-frame-catch.is-expanded .catch-controls{margin:0;gap:7px}}@media (prefers-reduced-motion:reduce){.catch-target.is-catching img{animation:none}}.pipes-shell{--pipes-ink:#746087;--pipes-line:#cbbddc;min-width:0;overflow:hidden;border:1.5px solid var(--pipes-line);border-radius:17px;background:#eee7f5}.pipes-main{min-width:0;padding:10px}.pipes-toolbar{display:flex;align-items:center;gap:12px;width:min(100%,420px);min-height:46px;margin-inline:auto}.pipes-level-title{flex:1;min-width:0;color:var(--pipes-ink)}.pipes-level-title>span,.pipes-stat>span{display:block;color:#89759d;font-size:9px;font-weight:950;letter-spacing:1.1px;line-height:1.4}.pipes-level-title>strong{display:block;font-family:Fredoka Variable,sans-serif;font-size:22px;font-weight:500;line-height:1.2}.pipes-stat{text-align:center;color:var(--pipes-ink)}.pipes-moves{display:block;font-family:Fredoka Variable,sans-serif;font-size:25px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.pipes-restart{display:grid;place-items:center;gap:1px;width:44px;height:44px;padding:2px;border:1px solid var(--pipes-line);border-radius:11px;background:#fffbf6;color:var(--pipes-ink);font-size:25px;line-height:25px;touch-action:manipulation}.pipes-restart small{font-size:8px;font-weight:950;line-height:10px}.pipes-restart:disabled{opacity:.5}.pipes-route-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:min(100%,420px);margin:10px auto 6px;color:#847096;font-size:10px;font-weight:850}.pipes-route-label>span{display:flex;align-items:center;gap:4px}.pipes-route-label>span:nth-child(2){font-size:8px;letter-spacing:1px;color:#9888a5}.pipes-board{position:relative;width:min(100%,420px,max(264px,calc(100svh - 340px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));aspect-ratio:1;margin-inline:auto;padding:8px;isolation:isolate;border:2px solid #bcaacb;border-radius:15px;background:#d9cfe4;box-shadow:inset 0 2px 0 #9c87b02a,0 4px 0 #a087b71a}.pipes-grid{position:absolute;inset:8px;display:grid;grid-template-columns:repeat(var(--pipes-size),minmax(0,1fr));grid-template-rows:repeat(var(--pipes-size),minmax(0,1fr));gap:5px}.pipe-tile{position:relative;display:block;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid #c1b3d0;border-radius:9px;background:#f7f2f9;box-shadow:inset 0 1px 0 #fffdf9;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pipe-tile:enabled:hover{background:#fffdf9}.pipe-tile:enabled:active{background:#e5daf0}.pipe-tile:focus-visible{z-index:1;outline:3px solid #78638f;outline-offset:-4px}.pipe-tile>svg{display:block;width:100%;height:100%}.pipe-tile .pipe-body,.pipe-tile .pipe-collar,.pipe-tile .pipe-rim,.pipe-tile .pipe-shine,.pipe-tile .pipe-water{fill:none}.pipe-tile .pipe-rim{stroke:#a49ab6;stroke-width:26px}.pipe-tile .pipe-body{stroke:#d5cede;stroke-width:20px}.pipe-tile .pipe-shine{stroke:#ebe5f0;stroke-width:7px}.pipe-tile .pipe-water{stroke:#78bdcc;stroke-width:11px;opacity:0}.pipe-tile .pipe-collar{stroke:#b0a4c0;stroke-width:4px;stroke-linecap:round}.pipe-tile.is-connected{background:#f2f7f6;border-color:#b4cbd0}.pipe-tile.is-connected .pipe-rim{stroke:#8facb4}.pipe-tile.is-connected .pipe-body{stroke:#c4dbe0}.pipe-tile.is-connected .pipe-shine{stroke:#e8f2f3}.pipe-tile.is-connected .pipe-water{opacity:.45}.pipe-tile.is-connected .pipe-collar{stroke:#8cabb6}.pipe-tile.pipe-endpoint{background:#fff9ef}.pipe-endpoint-label{position:absolute;bottom:2px;left:0;right:0;color:#897098;font-size:clamp(6px,1.8vw,8px);line-height:1.2;font-weight:950;letter-spacing:.7px}.pipe-tile.is-hinted{box-shadow:inset 0 0 0 3px #ddbb60;background:#fff8d9}.pipe-tile.is-leaking{background:#fbe8df;border-color:#cb947c}.pipe-leak{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:18px;height:18px;border:1px solid #b77459;border-radius:50%;background:#f9d49d;color:#8d513c;font-size:12px;font-weight:950}.pipes-board[data-flushed=true] .is-connected .pipe-water{opacity:1}.pipes-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;width:min(100%,420px);margin:9px auto;color:#8b759a;font-size:10px;line-height:16px}.pipes-progress>span>span{color:#b59648;letter-spacing:1px}.pipes-progress strong{color:var(--pipes-ink);font-weight:950}.pipes-controls{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;width:min(100%,420px);margin-inline:auto}.pipes-flush.button{justify-content:center;gap:12px;min-width:0;min-height:48px;padding:10px 12px;background:#78658f;border-color:#78658f;box-shadow:0 3px 0 #5a4567;font-size:14px}.pipes-flush.button:hover:enabled{background:#6b587f}.pipes-flush:disabled{opacity:.5;cursor:default;transform:none}.pipes-flush>span{margin-left:auto;font-size:20px}.pipes-hint{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:8px;border:1px solid #cabbda;border-radius:11px;background:#fffbf3;color:var(--pipes-ink);font-size:12px;font-weight:900;touch-action:manipulation}.pipes-hint:disabled{opacity:.5}.pipes-status{width:min(100%,420px);min-height:36px;margin:11px auto 0;color:#7e6c8e;font-size:11px;line-height:1.6;text-align:center}.pipes-status[data-leak=true]{color:#a0674e}.pipes-control-help{margin-top:5px;color:#93809f;font-size:9px;line-height:14px;text-align:center}.pipes-side{min-width:0;padding:18px;border-top:1px solid #dacde5;background:#fffbf5}.pipes-note{display:none}.pipes-levels-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.pipes-levels-heading h3{color:var(--pipes-ink);font-size:15px}.pipes-levels-heading>span{color:#9b8458;font-size:12px;font-weight:900}.pipes-levels ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0;margin:0;list-style:none}.pipes-levels li{min-width:0}.pipes-levels button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-height:49px;padding:5px 2px;border:1px solid #ded1e7;border-radius:10px;background:#f5eff8;color:#8c779f;touch-action:manipulation}.pipes-levels button>span:first-child{display:grid;place-items:center;min-height:20px;font-family:Fredoka Variable,sans-serif;font-size:20px}.pipes-levels button[aria-current]{background:#e8e0f0;border-color:#a48eb9;box-shadow:inset 0 0 0 1px #b7a2cb;color:#725885}.pipes-levels button:disabled{opacity:.5}.pipes-stars{display:inline-flex;align-items:center;gap:1px;line-height:1}.pipes-stars>span{color:#cfc6d6;font-size:11px}.pipes-stars>span[data-earned=true]{color:#cba54c}.pipes-levels>p{color:#a18caa;font-size:10px;text-align:center;margin-top:10px}.pipes-guide{margin-top:17px;border:1px solid #e1d5e7;border-radius:11px;background:#f8f3fa}.pipes-guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 13px;list-style:none;color:var(--pipes-ink);font-size:13px;font-weight:900;cursor:pointer;touch-action:manipulation}.pipes-guide summary:after{content:"+";font-size:20px}.pipes-guide[open] summary:after{content:"−"}.pipes-guide p{padding:0 13px 13px;color:var(--muted);font-size:12px;line-height:1.7}.pipes-guide p>strong{display:block;color:var(--pipes-ink)}.pipes-save{display:flex;align-items:flex-start;gap:6px;margin-top:14px;color:#9e8b9e;font-size:11px;line-height:1.6}.pipes-save svg{flex-shrink:0;margin-top:2px}.pipes-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:12px;border-radius:12px;background:#f2edf5cf}.pipes-win{width:min(100%,335px);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:24px 16px 18px;border:1px solid #ccb9dd;border-radius:15px;background:#fffcf5f5;box-shadow:0 5px 0 #a58bba1a;text-align:center}.pipes-win-kicker{display:block;color:#a08baf;font-size:8px;letter-spacing:1.1px;font-weight:950}.pipes-win-stars{margin:14px auto 8px;gap:6px}.pipes-win-stars>span{font-size:34px}.pipes-win h2{color:var(--pipes-ink);font-size:29px;line-height:1.1}.pipes-win p{max-width:260px;margin:12px auto 18px;color:var(--muted);font-size:12px;line-height:1.7}.pipes-win .button{width:min(100%,220px);min-height:44px;padding:9px 12px;gap:10px;font-size:13px;background:#78658f;border-color:#78658f}.pipes-replay{display:block;min-height:44px;margin:8px auto 0;padding:8px;border:0;background:transparent;color:#8a729f;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}.pipes-reset{width:calc(100% - 32px)}.pipes-reset .button{min-height:44px}.game-frame-pipes.is-expanded .pipes-shell{display:flex;height:100%;min-height:0}.game-frame-pipes.is-expanded .pipes-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;padding:8px}.game-frame-pipes.is-expanded .pipes-main>*{flex-shrink:0}.game-frame-pipes.is-expanded .pipes-board{width:min(100%,420px,max(264px,calc(100dvh - 308px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.game-frame-pipes.is-expanded .pipes-side{display:none}@media (min-width:761px) and (min-height:501px){.pipes-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:19px}.pipes-main{padding:26px;background:radial-gradient(circle at 50% 42%,#f9f4fb,#e9e0f2)}.pipes-level-title>strong{font-size:25px}.pipes-moves{font-size:29px}.pipes-route-label{margin-top:18px;margin-bottom:8px}.pipes-board{width:min(100%,420px);padding:9px;border-radius:17px}.pipes-grid{inset:9px;gap:7px}.pipe-tile{border-radius:11px}.pipes-progress{margin-block:12px;font-size:11px}.pipes-controls{gap:10px}.pipes-control-help{font-size:10px;margin-top:9px}.pipes-side{padding:28px 24px;border-top:0;border-left:1px solid #dacde5}.pipes-note{display:block}.pipes-mascot{display:flex;align-items:center;gap:10px}.pipes-mascot>svg{width:80px;height:80px;transform:rotate(-8deg)}.pipes-mascot>span{color:#b8a7c9;font-size:45px}.pipes-note .eyebrow{display:block;margin-top:16px;font-size:8px;letter-spacing:.7px}.pipes-note h2{margin-top:12px;font-size:31px;line-height:1.1;letter-spacing:-.3px}.pipes-note h2>span{color:#b49dc4}.pipes-note p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.7}.pipes-levels{margin-top:25px}.pipes-levels ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.pipes-guide{margin-top:20px}.game-frame-pipes.is-expanded .pipes-route-label{margin-top:10px}.game-frame-pipes.is-expanded .pipes-board{width:min(100%,420px,calc(100dvh - 330px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}@media (max-height:640px),(max-width:360px){.pipes-win{padding:14px 10px 10px}.pipes-win-kicker{display:none}.pipes-win-stars{margin-top:0}.pipes-win-stars>span{font-size:26px}.pipes-win h2{font-size:23px}.pipes-win p{margin-block:8px 12px;font-size:11px;line-height:1.5}.pipes-replay{margin-top:4px}}@media (orientation:landscape) and (max-height:500px){.pipes-shell{display:block}.game-frame-pipes.is-expanded .pipes-main,.pipes-main{display:grid;grid-template-columns:auto 230px;grid-template-rows:auto auto auto auto;justify-content:center;align-items:center;gap:7px 18px;padding:8px}.pipes-board{grid-column:1;grid-row:1/5;width:min(420px,max(256px,calc(100svh - 136px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));margin:0;padding:6px}.pipes-grid{inset:6px;gap:4px}.pipes-toolbar{grid-column:2;grid-row:1;width:230px;gap:8px}.pipes-level-title>strong{font-size:19px}.pipes-moves{font-size:23px}.pipes-route-label{display:none}.pipes-progress{grid-column:2;grid-row:2;width:230px;margin:0;font-size:9px}.pipes-controls{grid-column:2;grid-row:3;width:230px;gap:6px;grid-template-columns:minmax(0,1fr) 70px}.pipes-flush.button{min-height:44px;font-size:12px;gap:7px;padding:7px 9px}.pipes-flush>span{display:none}.pipes-hint{min-height:44px}.pipes-status{grid-column:2;grid-row:4;width:230px;min-height:34px;margin:0;font-size:10px}.pipes-control-help,.pipes-side{display:none}.pipes-win{padding:10px 8px 5px}.pipes-win-stars{margin-bottom:5px}.pipes-win h2{font-size:20px}.pipes-win p{margin-block:7px 9px;font-size:10px}.pipes-win .button{font-size:12px}.pipes-overlay{padding:8px}.pipes-replay{font-size:10px;min-height:36px}.game-frame-pipes.is-expanded .pipes-board{width:min(420px,calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));height:min(420px,calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}@media (prefers-reduced-motion:no-preference){.pipes-board[data-flowing=true] .is-connected .pipe-water{stroke-dasharray:150;animation:pipes-whoosh .35s ease-out both;animation-delay:var(--flow-delay)}.pipe-tile.is-hinted{animation:pipes-hint .5s ease-out}.pipes-win-stars>span[data-earned=true]{animation:pipes-star .4s ease-out both}.pipes-win-stars>span:nth-child(2){animation-delay:.1s}.pipes-win-stars>span:nth-child(3){animation-delay:.2s}}@keyframes pipes-whoosh{0%{stroke-dashoffset:150;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes pipes-hint{50%{box-shadow:inset 0 0 0 5px #ddbb60}}@keyframes pipes-star{0%{opacity:0;transform:scale(.5) rotate(-15deg)}to{opacity:1;transform:scale(1)}}.golf-shell{--golf-ink:#627b4d;--golf-line:#c2cfae;min-width:0;overflow:hidden;border:1.5px solid var(--golf-line);border-radius:17px;background:#eaf0df}.golf-main{min-width:0;padding:8px}.golf-toolbar{display:flex;align-items:center;gap:10px;width:min(100%,420px);min-height:46px;margin-inline:auto}.golf-hole-title{flex:1;min-width:0;color:var(--golf-ink)}.golf-hole-title>span,.golf-stat>span{display:block;color:#879a6f;font-size:9px;font-weight:950;letter-spacing:1px;line-height:1.4}.golf-hole-title>strong{display:block;font-family:Fredoka Variable,sans-serif;font-size:21px;font-weight:500;line-height:1.2}.golf-stat{color:var(--golf-ink);text-align:center}.golf-strokes{display:block;font-family:Fredoka Variable,sans-serif;font-size:23px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.golf-stat>small{display:block;color:#8a9876;font-size:8px;line-height:11px}.golf-actions{display:flex;gap:6px}.golf-actions button{display:grid;place-items:center;gap:1px;width:44px;height:44px;padding:2px;border:1px solid var(--golf-line);border-radius:10px;background:#fffdf4;color:var(--golf-ink);touch-action:manipulation}.golf-actions button>span{font-size:23px;font-weight:800;line-height:24px}.golf-actions button>small{font-size:8px;font-weight:950;line-height:10px}.golf-actions button:disabled{opacity:.45}.golf-board{position:relative;width:min(100%,420px,max(220px,calc(100svh - 350px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));aspect-ratio:1;margin:8px auto 0;isolation:isolate;overflow:hidden;border:2px solid #acbf96;border-radius:16px;background:#dfead2;box-shadow:0 4px 0 #82976820;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline-offset:3px}.golf-board[data-phase=ready]{cursor:grab}.golf-board[data-phase=ready]:active{cursor:grabbing}.golf-board:focus-visible{outline:3px solid #879b6c}.golf-course{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.golf-power{display:flex;align-items:center;gap:12px;width:min(100%,420px);min-height:44px;margin:6px auto 0;color:#889b71}.golf-power>span:first-child{flex-shrink:0;font-size:8px;font-weight:950;letter-spacing:.7px}.golf-power strong{display:block;color:var(--golf-ink);font-family:Fredoka Variable,sans-serif;font-size:16px;font-weight:500;line-height:1.1;letter-spacing:0;font-variant-numeric:tabular-nums}.golf-power input{flex:1;min-width:0;height:44px;margin:0;accent-color:#819969;cursor:pointer;touch-action:pan-y}.golf-power>span:last-child{color:#98aa80;font-size:23px}.golf-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:min(100%,420px);margin:3px auto 0}.golf-aim-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:2px;border:1px solid #becda5;border-radius:11px;background:#fffdf4;color:var(--golf-ink);font-size:26px;font-weight:800;touch-action:manipulation}.golf-shoot.button{justify-content:center;gap:8px;min-width:0;min-height:44px;padding:8px 10px;background:#738a57;border-color:#738a57;box-shadow:0 3px 0 #53643e;font-size:13px}.golf-shoot.button:hover:enabled{background:#637b49}.golf-shoot>span{margin-left:auto;font-size:20px}.golf-controls button:disabled{opacity:.45;cursor:default;transform:none}.golf-status{width:min(100%,420px);min-height:32px;margin:9px auto 0;color:#7d9068;font-size:10px;line-height:1.6;text-align:center}.golf-control-help{margin-top:5px;color:#91a17f;font-size:9px;line-height:14px;text-align:center}.golf-side{min-width:0;padding:18px;border-top:1px solid #d1dcc1;background:#fffbf4}.golf-note{display:none}.golf-holes-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.golf-holes-heading h3{color:var(--golf-ink);font-size:15px}.golf-holes-heading>span{color:#a38d54;font-size:12px;font-weight:900}.golf-holes ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0;margin:0;list-style:none}.golf-holes button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-height:66px;padding:5px 2px;border:1px solid #d6ddc8;border-radius:10px;background:#f1f3e6;color:#8a9d71;touch-action:manipulation}.golf-holes button>span:first-child{display:grid;place-items:center;min-height:20px;font-family:Fredoka Variable,sans-serif;font-size:21px}.golf-holes button>small{color:#91a17b;font-size:8px;line-height:12px}.golf-holes button[aria-current]{background:#e6edda;border-color:#9bad84;box-shadow:inset 0 0 0 1px #c0cfae;color:#647c4d}.golf-holes button:disabled{opacity:.45}.golf-stars{display:inline-flex;align-items:center;gap:2px;line-height:1}.golf-stars>span{color:#cdd1bd;font-size:12px}.golf-stars>span[data-earned=true]{color:#cba54e}.golf-holes>p{margin-top:10px;color:#93a07e;font-size:10px;text-align:center}.golf-guide{margin-top:17px;border:1px solid #dce2cc;border-radius:11px;background:#f5f6ea}.golf-guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 13px;list-style:none;color:var(--golf-ink);font-size:13px;font-weight:900;cursor:pointer;touch-action:manipulation}.golf-guide summary:after{content:"+";font-size:20px}.golf-guide[open] summary:after{content:"−"}.golf-guide p{padding:0 13px 13px;color:var(--muted);font-size:12px;line-height:1.7}.golf-guide p>strong{display:block;color:var(--golf-ink)}.golf-save{display:flex;align-items:flex-start;gap:6px;margin-top:14px;color:#98a185;font-size:11px;line-height:1.6}.golf-save svg{flex-shrink:0;margin-top:2px}.golf-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:12px;border-radius:12px;background:#edf2e2cc;cursor:default}.golf-overlay-card{width:min(100%,335px);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:22px 16px 16px;border:1px solid #c3d0aa;border-radius:15px;background:#fffdf4f5;box-shadow:0 5px 0 #7e946520;text-align:center}.golf-kicker{display:block;color:#95a17c;font-size:8px;font-weight:950;letter-spacing:1px}.golf-overlay-card>.golf-stars{margin:12px auto 9px;gap:6px}.golf-overlay-card>.golf-stars>span{font-size:33px}.golf-overlay-card h2{margin-top:8px;color:var(--golf-ink);font-size:28px;line-height:1.1}.golf-overlay-card p{max-width:260px;margin:12px auto 18px;color:var(--muted);font-size:12px;line-height:1.7}.golf-overlay-card .button{width:min(100%,220px);min-height:44px;padding:9px 12px;gap:10px;font-size:13px;background:#738a57;border-color:#738a57}.golf-replay{display:block;min-height:44px;margin:6px auto 0;padding:8px;border:0;background:transparent;color:#829566;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}.golf-reset{width:calc(100% - 32px)}.golf-reset .button{min-height:44px}.game-frame-golf.is-expanded .golf-shell{display:flex;height:100%;min-height:0}.game-frame-golf.is-expanded .golf-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;padding:8px}.game-frame-golf.is-expanded .golf-main>*{flex-shrink:0}.game-frame-golf.is-expanded .golf-board{width:min(100%,420px,calc(100dvh - 286px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.game-frame-golf.is-expanded .golf-side{display:none}@media (min-width:761px) and (min-height:501px){.golf-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:19px}.golf-main{padding:26px;background:radial-gradient(circle at 50% 40%,#f4f7e9,#e5edda)}.golf-hole-title>strong{font-size:25px}.golf-strokes{font-size:29px}.golf-stat>small{font-size:9px}.golf-board{width:min(100%,420px);margin-top:16px;border-radius:18px}.golf-power{margin-top:12px}.golf-controls{margin-top:5px}.golf-status{font-size:11px;margin-top:13px}.golf-control-help{font-size:10px;margin-top:8px}.golf-side{padding:28px 24px;border-top:0;border-left:1px solid #d1dcc1}.golf-note{display:block}.golf-note>svg{width:80px;height:80px;transform:rotate(-8deg)}.golf-note .eyebrow{display:block;margin-top:16px;font-size:9px;letter-spacing:1px}.golf-note h2{margin-top:12px;font-size:31px;line-height:1.1;letter-spacing:-.3px}.golf-note h2>span{color:#aab889}.golf-note p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.7}.golf-holes{margin-top:25px}.golf-guide{margin-top:21px}.game-frame-golf.is-expanded .golf-board{margin-top:8px;width:min(100%,420px,calc(100dvh - 312px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}@media (max-height:640px),(max-width:360px){.golf-hole-title>strong{font-size:18px}.golf-overlay{padding:8px}.golf-overlay-card{padding:12px 8px 8px}.golf-kicker{display:none}.golf-overlay-card>.golf-stars{margin:0 auto 5px}.golf-overlay-card>.golf-stars>span{font-size:25px}.golf-overlay-card h2{margin-top:0;font-size:22px}.golf-overlay-card p{margin-block:8px 10px;font-size:10px;line-height:1.5}.golf-replay{font-size:10px;margin-top:2px}.golf-control-help{font-size:8px}}@media (orientation:landscape) and (max-height:500px){.golf-shell{display:block}.game-frame-golf.is-expanded .golf-main,.golf-main{display:grid;grid-template-columns:auto 240px;grid-template-rows:auto auto auto auto;justify-content:center;align-items:center;gap:7px 18px;padding:8px}.golf-board{grid-column:1;grid-row:1/5;width:min(420px,calc(100svh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0}.golf-toolbar{grid-column:2;grid-row:1;width:240px;gap:7px}.golf-hole-title>strong{font-size:17px}.golf-strokes{font-size:23px}.golf-power{grid-row:2}.golf-controls,.golf-power{grid-column:2;width:240px;margin:0}.golf-controls{grid-row:3;gap:6px}.golf-shoot.button{font-size:12px;padding:8px}.golf-shoot>span{display:none}.golf-status{grid-column:2;grid-row:4;width:240px;min-height:32px;margin:0;font-size:10px}.golf-control-help,.golf-side{display:none}.game-frame-golf.is-expanded .golf-board{width:min(420px,calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));height:min(420px,calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0}}@media (prefers-reduced-motion:no-preference){.golf-overlay-card>.golf-stars>span[data-earned=true]{animation:golf-star .35s ease-out both}.golf-overlay-card>.golf-stars>span:nth-child(2){animation-delay:.1s}.golf-overlay-card>.golf-stars>span:nth-child(3){animation-delay:.2s}}@keyframes golf-star{0%{opacity:0;transform:scale(.5) rotate(-15deg)}to{opacity:1;transform:scale(1)}}.memory-shell{--memory-ink:#865c68;--memory-line:#d9b7bf;min-width:0;overflow:hidden;border:1.5px solid var(--memory-line);border-radius:17px;background:#f6e3e5}.memory-main{min-width:0;padding:9px}.memory-toolbar{display:flex;align-items:center;gap:20px;width:min(100%,420px);min-height:44px;margin-inline:auto}.memory-stat>span{display:block;color:#9d7780;font-size:9px;font-weight:950;letter-spacing:1px;line-height:1.4}.memory-stat>strong{display:block;color:var(--memory-ink);font-family:Fredoka Variable,sans-serif;font-size:29px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.memory-stat small{font-family:Nunito Variable,sans-serif;color:#aa8991;font-size:14px;font-weight:800}.memory-pairs{margin-right:auto}.memory-new{display:flex;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:5px 10px;border:1px solid #d7b4bd;border-radius:10px;background:#fffbf6;color:var(--memory-ink);font-size:11px;font-weight:900;touch-action:manipulation}.memory-new>span:first-child{font-size:25px;line-height:1}.memory-new:disabled{opacity:.5}.memory-settings{display:flex;justify-content:space-between;align-items:center;gap:8px;width:min(100%,420px);min-height:44px;margin:5px auto 7px}.memory-difficulty{position:relative;display:block;min-width:0;max-width:58%}.memory-difficulty:after{content:"";position:absolute;right:11px;top:17px;width:6px;height:6px;border-right:1.5px solid #9c7484;border-bottom:1.5px solid #9c7484;transform:rotate(45deg);pointer-events:none}.memory-difficulty select{display:block;width:100%;height:44px;min-height:44px;padding:7px 27px 7px 10px;border:1px solid #d9bdc3;border-radius:9px;background:#fffaf4;color:var(--memory-ink);font-family:inherit;font-size:11px;font-weight:850;appearance:none;-webkit-appearance:none;touch-action:manipulation}.memory-best{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;max-width:46%;color:#9a7880;font-size:10px;font-weight:800;line-height:1.3;text-align:right}.memory-best svg{flex-shrink:0;color:#b79757}.memory-board{position:relative;width:min(100%,420px,calc((100svh - 284px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--memory-scale)));min-width:218px;aspect-ratio:4/var(--memory-rows);margin-inline:auto;padding:7px;isolation:isolate;border:2px solid #d6aeb8;border-radius:15px;background:#ebcdd4;box-shadow:inset 0 2px 0 #b68a9820,0 4px 0 #bc94a01a}.memory-grid{position:absolute;inset:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--memory-rows),minmax(0,1fr));gap:6px}.memory-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:1px;overflow:hidden;border:1.5px solid #c993a4;border-radius:9px;background:#f7dfe5;box-shadow:0 2px 0 #bd8a9b30,inset 0 1px 0 #fff9f7a6;color:var(--memory-ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:background .14s,border-color .14s,transform .14s}.memory-card[data-state=hidden]:hover{background:#fbeaf0}.memory-card[data-state=hidden]:active{transform:scale(.96)}.memory-card:focus-visible{z-index:1;outline:3px solid #8b5a72;outline-offset:-4px}.memory-card[data-state=matched],.memory-card[data-state=open]{border-color:var(--memory-color);background:var(--memory-pale)}.memory-card[data-state=matched]{box-shadow:inset 0 0 0 1px #fff9ed}.memory-card-back{display:grid;place-items:center;width:100%;height:100%;border:1px dashed #d7a8b8;border-radius:6px}.memory-card-back svg{display:block;width:45%;height:45%;overflow:visible;fill:#fbeef0;stroke:#c995a8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.memory-card-back svg>path+path{fill:none}.memory-portrait{position:relative;display:block;width:90%;height:76%;min-height:0}.memory-portrait .memory-poop{display:block;width:100%;height:100%}.memory-portrait .memory-poop>path:first-of-type{fill:var(--memory-color,#ce8a9b);stroke:#72504d}.memory-portrait .memory-poop>path:nth-of-type(2){stroke:#72504d;opacity:.4}.memory-accessory{position:absolute;inset:0;width:100%;height:100%}.memory-card-caption{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;min-height:12px;margin-top:-1px;color:#765a53;font-size:clamp(7px,1.9vw,10px);line-height:1.2;font-weight:850;white-space:nowrap}.memory-card-caption b{font-size:.9em}.memory-check{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fffaf0;color:#708968;font-size:9px;font-weight:950}.memory-status{width:min(100%,420px);min-height:33px;margin:9px auto 0;color:#906c79;font-size:11px;line-height:1.5;text-align:center}.memory-control-help{margin:3px 0 0;color:#a1838d;font-size:9px;line-height:14px;text-align:center}.memory-side{min-width:0;padding:8px 12px;border-top:1px solid #e4cad0;background:#fffbf5}.memory-guide,.memory-note,.memory-records{display:none}.memory-save{display:flex;align-items:flex-start;justify-content:center;gap:5px;color:#a18a90;font-size:10px;line-height:1.5}.memory-save svg{flex-shrink:0;margin-top:1px}.memory-overlay{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:10px;border-radius:12px;background:#f8e8ecd4}.memory-win{width:min(100%,320px);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:19px 15px;border:1px solid #d7b2bf;border-radius:14px;background:#fffcf5f5;box-shadow:0 5px 0 #ba93a01a;text-align:center}.memory-win-sparkles{display:block;color:#c496a5;font-size:26px;letter-spacing:8px}.memory-win-kicker{display:block;margin:9px 0;color:#ab8592;font-size:8px;font-weight:950;letter-spacing:1px}.memory-win h2{color:var(--memory-ink);font-size:29px;line-height:1.1}.memory-win p{margin:12px auto 17px;max-width:240px;color:#9b7a83;font-size:12px;line-height:1.7}.memory-win .button{justify-content:center;min-height:44px;gap:12px;padding:9px 16px;background:#a66d82;border-color:#a66d82;font-size:13px}.memory-reset{width:calc(100% - 32px)}.memory-reset .button{min-height:44px}.game-frame-memory.is-expanded .memory-shell{display:flex;height:100%;min-height:0}.game-frame-memory.is-expanded .memory-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;padding:8px}.game-frame-memory.is-expanded .memory-main>*{flex-shrink:0}.game-frame-memory.is-expanded .memory-board{width:min(100%,420px,calc((100dvh - 238px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--memory-scale)))}.game-frame-memory.is-expanded .memory-side{display:none}@media (min-width:761px) and (min-height:501px){.memory-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:19px}.memory-main{padding:24px;background:radial-gradient(circle at 50% 45%,#fff2f3,#f1dade)}.memory-toolbar{gap:28px}.memory-stat>strong{font-size:33px}.memory-new{padding-inline:12px;font-size:12px}.memory-settings{margin-block:12px}.memory-difficulty select{font-size:12px}.memory-best{font-size:11px}.memory-board{width:min(100%,420px);border-radius:17px;padding:9px}.memory-grid{inset:9px;gap:8px}.memory-card{border-radius:11px}.memory-card-caption{font-size:11px;min-height:16px;gap:4px}.memory-check{top:4px;right:4px;width:17px;height:17px;font-size:11px}.memory-status{margin-top:13px;font-size:12px}.memory-control-help{margin-top:6px;font-size:10px}.memory-side{padding:27px 24px;border-top:0;border-left:1px solid #e4cad0}.memory-guide,.memory-note,.memory-records{display:block}.memory-mascot{display:flex;justify-content:center;align-items:center;gap:1px;height:91px}.memory-mascot>.memory-portrait{width:88px;height:88px;transform:rotate(-8deg)}.memory-mascot>.memory-portrait:last-child{transform:rotate(8deg)}.memory-mascot>span:not(.memory-portrait){color:#d39cae;font-size:25px}.memory-note .eyebrow{display:block;margin-top:16px;font-size:8px;letter-spacing:.5px}.memory-note h2{margin-top:12px;font-size:30px;line-height:1.13;letter-spacing:-.4px}.memory-note h2>span{color:#cf9eaf}.memory-note p{margin-top:13px;color:#a1848a;font-size:13px;line-height:1.7}.memory-records{margin-top:24px}.memory-records h3{color:var(--memory-ink);font-size:14px}.memory-records>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.memory-records>div>span{display:block;padding:10px 3px;border:1px solid #ead3d8;border-radius:9px;background:#fcf3f3;text-align:center}.memory-records>div>span[data-current=true]{background:#f8e7eb;border-color:#d3acb9}.memory-records>div>span>span{display:block;color:#ab8994;font-size:10px;font-weight:850}.memory-records strong{display:block;margin-top:3px;color:#956d7d;font-family:Fredoka Variable,sans-serif;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.memory-guide{margin-top:20px;border:1px solid #e8d1d8;border-radius:11px;background:#fcf3f4}.memory-guide summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;color:var(--memory-ink);font-size:13px;font-weight:900;list-style:none;cursor:pointer}.memory-guide summary:after{content:"+";font-size:20px}.memory-guide[open] summary:after{content:"−"}.memory-guide p{padding:0 12px 13px;color:#a1848a;font-size:12px;line-height:1.7}.memory-guide p>strong{display:block;color:var(--memory-ink)}.memory-save{justify-content:flex-start;margin-top:16px;font-size:11px;line-height:1.6}.game-frame-memory.is-expanded .memory-board{width:min(100%,420px,calc((100dvh - 270px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--memory-scale)))}}@media (max-height:640px),(max-width:360px){.memory-toolbar{gap:16px}.memory-main{padding:7px}.memory-new{padding-inline:8px;font-size:10px}.memory-difficulty select{padding-left:7px;font-size:10px}.memory-best{font-size:9px}.memory-settings{gap:5px;margin-block:3px 5px}.memory-status{margin-top:7px;font-size:10px;min-height:30px}.memory-control-help{font-size:8px;margin-top:1px}.memory-side{padding:5px 8px}.memory-save{font-size:9px}.memory-win{padding:11px 9px}.memory-win-sparkles{font-size:20px}.memory-win-kicker{display:none}.memory-win h2{margin-top:5px;font-size:22px}.memory-win p{margin-block:8px 11px;font-size:11px;line-height:1.5}}@media (orientation:landscape) and (max-height:500px){.memory-shell{display:block}.game-frame-memory.is-expanded .memory-main,.memory-main{display:grid;grid-template-columns:auto 230px;grid-template-rows:auto auto auto auto;justify-content:center;align-items:center;gap:5px 18px;padding:7px}.memory-board{grid-column:1;grid-row:1/5;width:min(370px,calc((100svh - 141px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--memory-scale)));min-width:204px;margin:0;padding:5px}.memory-grid{inset:5px;gap:4px}.memory-card{border-radius:7px}.memory-card-back{border-radius:4px}.memory-card-caption{min-height:11px;font-size:8px}.memory-check{width:12px;height:12px;top:2px;right:2px;font-size:8px}.memory-toolbar{grid-column:2;grid-row:1;width:230px;gap:16px}.memory-stat>strong{font-size:26px}.memory-settings{grid-row:2}.memory-settings,.memory-status{grid-column:2;width:230px;margin:0}.memory-status{grid-row:3;min-height:32px;font-size:10px}.memory-control-help{grid-column:2;grid-row:4;width:230px;margin:0;font-size:8px}.memory-side{padding:4px 12px}.memory-save{font-size:9px;line-height:1.4}.memory-overlay{padding:7px}.memory-win{padding:10px 8px}.memory-win-kicker,.memory-win-sparkles{display:none}.memory-win h2{font-size:21px}.memory-win p{font-size:10px;line-height:1.4;margin-block:6px 9px}.memory-win .button{font-size:12px;padding:7px 10px}.game-frame-memory.is-expanded .memory-board{width:min(400px,calc((100dvh - 85px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--memory-scale)))}}@media (prefers-reduced-motion:reduce){.memory-card{transition:none}}.snake-shell{--snake-ink:#4b664b;--snake-line:#bfceb0;display:grid;grid-template-columns:minmax(0,1fr) 300px;min-width:0;overflow:hidden;border:1.5px solid var(--snake-line);border-radius:20px;background:#edf2e4}.snake-main{min-width:0;padding:26px;background:radial-gradient(ellipse at 50% 35%,#f5f6e9,#e5eddb)}.snake-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;align-items:center;gap:12px;width:min(100%,400px);min-height:44px;margin:0 auto 14px}.snake-stat{min-width:0;color:var(--snake-ink)}.snake-stat>span{display:block;font-size:9px;line-height:1.4;font-weight:950;letter-spacing:1px}.snake-stat strong{display:block;font-family:Fredoka Variable,sans-serif;font-size:30px;font-weight:550;line-height:1.2;font-variant-numeric:tabular-nums}.snake-stat strong small{font-family:Nunito Variable,sans-serif;font-size:11px;color:#839378;font-weight:800}.snake-pause{width:44px;height:44px;border:1px solid var(--snake-line);border-radius:12px;background:#fffdf5;color:var(--snake-ink);font-size:21px;font-weight:900;touch-action:manipulation}.snake-pause:disabled{opacity:.4}.snake-board{position:relative;isolation:isolate;width:min(100%,400px);aspect-ratio:1;margin:0 auto;overflow:hidden;border:7px solid #f6f4de;border-radius:18px;outline:1.5px solid #afc29c;box-shadow:0 5px 0 #b4c89e40,0 12px 24px #57724b0a;background:#dce9d5;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snake-board:focus-visible{outline:3px solid #9a7b48;outline-offset:2px}.snake-scene{display:block;width:100%;height:100%;pointer-events:none}.snake-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#e2ecd69c}.snake-overlay-card{width:100%;max-width:310px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px 18px;border:1px solid #c1cba8;border-radius:17px;box-shadow:0 4px 0 #9da77c13;background:#fffdf3f5;text-align:center}.snake-kicker{color:#8d9c77;font-size:8px;font-weight:950;letter-spacing:1.2px}.snake-mascot{display:flex;align-items:center;justify-content:center;gap:10px;margin:7px auto 4px;color:#c4aa62;font-size:18px}.snake-mascot>svg{width:70px;height:70px;transform:rotate(-8deg)}.snake-mascot>span:last-child{font-size:11px;transform:translateY(-14px)}.snake-overlay-card h2{margin:0;font-size:31px;line-height:1.1;letter-spacing:-.5px;color:var(--snake-ink)}.snake-overlay-card p{max-width:245px;margin:12px auto 17px;font-size:13px;line-height:1.6;color:#7e866d}.snake-overlay-card .snake-start{min-height:46px;max-width:100%;justify-content:center;padding:10px 17px;gap:12px;background:#6a8054;border-color:#52673f;box-shadow:0 3px 0 #4c633d;color:#fffef2;font-size:13px}.snake-overlay-card .snake-start:hover{background:#5d7447}.snake-overlay-card>small{display:block;margin-top:14px;font-size:9px;line-height:1.5;color:#8e987e}.snake-result{margin:-6px 0 14px;color:#a48342;font-size:11px;font-weight:950}.snake-controls{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);gap:12px;margin:15px auto 0}.snake-paper-note{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:#839472}.snake-paper-note>span{color:#b18d49;font-family:Fredoka Variable,sans-serif;font-size:28px;font-weight:500}.snake-paper-note small{font-size:10px;font-weight:800}.snake-dpad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,44px);gap:5px}.snake-dpad button{display:grid;place-items:center;width:46px;height:44px;padding:0;border:1px solid #afc198;border-radius:11px;box-shadow:0 3px 0 #bacaa7;background:#f9faec;color:#5b754b;font-size:24px;line-height:1;touch-action:manipulation}.snake-dpad button:disabled{opacity:.45;box-shadow:none}.snake-dpad button:active:not(:disabled){background:#d4e3bd;transform:translateY(2px);box-shadow:0 1px 0 #bacaa7}.snake-up{grid-area:1/2}.snake-left{grid-area:2/1}.snake-down{grid-area:2/2}.snake-right{grid-area:2/3}.snake-control-hint{width:min(100%,400px);margin:12px auto 0;color:#859176;text-align:center;font-size:10px;line-height:1.4}.snake-side{min-width:0;padding:33px 26px;border-left:1px solid #d7dfc8;background:#fffdf5}.snake-note .eyebrow{color:#8d9a75;font-size:8px;line-height:1.7;letter-spacing:1px}.snake-note h2{margin:20px 0 16px;color:var(--snake-ink);font-size:35px;line-height:1.13;letter-spacing:-.5px}.snake-note h2>span{color:#b1935b}.snake-note p{color:#8b8c75;font-size:13px;line-height:1.85}.snake-trail-art{margin-top:16px}.snake-trail-art>svg{display:block;width:100%}.snake-records{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.snake-records dt{font-size:10px;color:#8d987d;font-weight:800;line-height:1.4}.snake-records dd{margin:5px 0 0;color:var(--snake-ink);font-family:Fredoka Variable,sans-serif;font-size:27px;line-height:1.2}.snake-records dd small{font-family:Nunito Variable,sans-serif;font-size:10px;font-weight:800;color:#8d987d}.snake-guide{border:1px solid #dce2cd;border-radius:11px;background:#f6f8ed}.snake-guide summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 13px;list-style:none;font-size:13px;font-weight:900;color:var(--snake-ink);cursor:pointer;touch-action:manipulation}.snake-guide summary:after{content:"+";font-size:20px}.snake-guide[open] summary:after{content:"−"}.snake-guide p{padding:0 13px 14px;color:#869078;font-size:11px;line-height:1.8}.snake-guide strong{display:block;margin-top:9px;color:#627655}.snake-save{display:flex;align-items:flex-start;gap:7px;margin-top:17px;color:#8b967d;font-size:10px;line-height:1.7}.snake-save>svg{flex-shrink:0;margin-top:2px}.game-frame-snake.is-expanded .snake-shell{height:100%;display:flex;justify-content:center}.game-frame-snake.is-expanded .snake-main{display:flex;flex-direction:column;align-items:center;width:100%;min-height:0;padding:8px}.game-frame-snake.is-expanded .snake-toolbar{flex-shrink:0;margin-bottom:8px}.game-frame-snake.is-expanded .snake-board{flex-shrink:0;width:min(100%,400px,calc(100dvh - 270px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin-block:auto}.game-frame-snake.is-expanded .snake-control-hint,.game-frame-snake.is-expanded .snake-controls{flex-shrink:0}.game-frame-snake.is-expanded .snake-side{display:none}@media (max-width:760px){.snake-shell{display:block;border-radius:15px}.snake-main{padding:10px}.snake-toolbar{gap:6px;margin-bottom:9px}.snake-stat strong{font-size:25px}.snake-stat strong small{font-size:9px}.snake-board{width:min(100%,400px,calc(100svh - 325px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border-width:5px;border-radius:13px}.snake-side{padding:16px;border-top:1px solid #d7dfc8;border-left:0}.snake-note{display:none}.snake-records{margin:0 0 13px}.snake-records dd{font-size:22px}.snake-controls{margin-top:11px}.snake-control-hint{margin-top:8px;font-size:9px}.snake-overlay{padding:10px}.snake-overlay-card{padding:15px 12px}.snake-kicker{font-size:7px}.snake-mascot>svg{width:54px;height:54px}.snake-overlay-card h2{font-size:26px}.snake-overlay-card p{margin-block:9px 13px;font-size:11px}.snake-overlay-card>small{margin-top:10px;font-size:8px}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar{min-height:44px;height:44px;margin-bottom:6px}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar>span{display:block}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar button{position:static}.game-frame-snake:not(.is-expanded) .snake-shell:not([data-status=ready]) .snake-board{width:min(100%,400px,calc(100svh - 270px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}@media (max-height:700px) and (max-width:760px){.snake-overlay-card{padding:13px 10px}.snake-kicker,.snake-mascot,.snake-overlay-card>small{display:none}.snake-overlay-card h2{font-size:24px}.snake-overlay-card p{font-size:11px;line-height:1.45;margin-block:8px 12px}.snake-overlay-card .snake-start{padding-inline:12px;min-height:44px;font-size:12px}}@media (orientation:landscape) and (max-height:500px){.snake-shell{display:block}.game-frame-snake.is-expanded .snake-main,.snake-main{display:grid;width:100%;grid-template-columns:auto 190px;grid-template-rows:auto 1fr auto;justify-content:center;align-items:center;gap:8px 20px;padding:8px}.snake-board{grid-column:1;grid-row:1/4;width:min(350px,calc(100svh - 142px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0}.snake-toolbar{grid-column:2;grid-row:1;width:190px;margin:0;gap:5px}.snake-stat>span{font-size:8px;letter-spacing:.5px}.snake-stat strong{font-size:23px}.snake-stat strong small{display:none}.snake-controls{grid-column:2;grid-row:2;width:190px;justify-content:center;margin:0}.snake-paper-note{display:none}.snake-control-hint{grid-column:2;grid-row:3;width:190px;margin:0;font-size:9px}.snake-kicker,.snake-mascot,.snake-overlay-card>small,.snake-side{display:none}.snake-overlay{padding:8px}.snake-overlay-card{padding:13px 10px}.snake-overlay-card h2{font-size:23px}.snake-overlay-card p{font-size:11px;margin-block:8px 12px;line-height:1.45}.snake-overlay-card .snake-start{min-height:44px;padding:8px 12px;font-size:12px}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar{min-height:44px;height:44px;margin-bottom:4px}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar>span{display:block}.game-frame-snake:not(.is-expanded):has(.snake-shell:not([data-status=ready])) .game-frame-toolbar button{position:static}.game-frame-snake:not(.is-expanded) .snake-shell:not([data-status=ready]) .snake-board{width:min(350px,calc(100svh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.game-frame-snake.is-expanded .snake-board{width:min(400px,calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0}.game-frame-snake.is-expanded .snake-controls,.game-frame-snake.is-expanded .snake-toolbar{width:190px}}.share-section{flex-wrap:wrap;gap:16px 24px;margin-top:24px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#f6efdf}.share-copy,.share-section{display:flex;align-items:center}.share-copy{gap:12px;flex:1 1 250px;min-width:0}.share-mark{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;background:#f9e4a0;color:var(--brown)}.share-copy h2{font-size:22px;line-height:1.2}.share-copy h2 span{color:#b37a4d}.share-copy p{margin-top:5px;font-size:12px;color:var(--muted)}.share-actions{display:flex;flex-wrap:wrap;gap:8px}.share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 13px;border:1px solid #d4c2a8;border-radius:10px;background:#fffdf8;color:var(--brown);font-size:12px;font-weight:850;touch-action:manipulation;transition:background .15s,border-color .15s}.share-button:hover{background:#fff1cb;border-color:#a98558}.share-button:active{background:#f9e4a0}.share-button:disabled{opacity:.6}.share-x{font-size:15px}.share-line,.share-whatsapp{color:#28653b}.share-facebook{color:#395f91}.share-copy-button{background:var(--brown);color:var(--cream);border-color:var(--brown)}.share-copy-button:hover{background:#694632;border-color:#694632}.share-status{flex-basis:100%;font-size:12px;color:var(--brown)}.share-status:not(.has-message){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.share-manual-copy{display:grid;gap:7px;flex-basis:100%;min-width:0}.share-manual-copy label{font-size:12px;font-weight:850}.share-manual-copy input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d4c2a8;border-radius:9px;background:#fffdf8;color:var(--brown);font-size:13px}.footer-share .share-section{margin:0;padding:24px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}@media (max-width:760px){.share-section{padding:18px 16px;gap:14px;margin-top:18px}.share-copy{flex-basis:100%}.share-copy h2{font-size:21px}.share-copy p{font-size:12px}.share-actions{width:100%}.share-button{flex-grow:1}.share-manual-copy input{font-size:16px}}.language-selector{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--brown);border:1px solid var(--line);border-radius:10px;padding:0 10px;min-height:44px;background:#fffdf6}.language-selector>span[aria-hidden]{font-size:20px}.language-selector select{max-width:150px;min-height:42px;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.language-selector:focus-within{outline:2px solid var(--brown);outline-offset:3px}html:lang(ja),html:lang(zh){line-break:strict}html:lang(ja) .eyebrow,html:lang(zh) .eyebrow{letter-spacing:.08em}@media (max-width:760px){.header-inner{flex-wrap:wrap;height:auto;min-height:60px;padding-block:8px;gap:5px 8px}.language-selector{margin-left:auto;padding-inline:7px;gap:4px}.language-selector select{max-width:112px;font-size:12px}.header-play{display:none}html:lang(ja) .hero-actions,html:lang(zh) .hero-actions{grid-template-columns:1fr}html:lang(ja) .hero-actions .button,html:lang(zh) .hero-actions .button{white-space:normal}html:lang(ja) .hero h1,html:lang(zh) .hero h1{font-size:clamp(28px,8vw,42px);line-height:1.3}html:lang(ja) .playable-detail .detail-heading h1,html:lang(zh) .playable-detail .detail-heading h1{font-size:20px}}@media (max-width:380px){.header-inner{flex-wrap:nowrap;gap:5px}.header-inner .brand{font-size:21px;gap:4px}.header-inner .brand svg{width:26px;height:26px}.header-inner nav{font-size:12px}.header-inner nav a{padding-inline:2px}.language-selector{padding-inline:5px}.language-selector select{max-width:70px}.language-selector>span[aria-hidden]{display:none}}