/* One page-level entry card for all nine games; never inherits game-overlay geometry. */
.pf-game dialog.pf-entry{position:fixed!important;inset:0!important;margin:auto!important;box-sizing:border-box;width:min(560px,calc(100vw - 32px))!important;max-width:none!important;height:fit-content!important;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:28px!important;border:1px solid #bdc9b8!important;border-radius:22px!important;background:#fff9e8!important;color:#243e38!important;box-shadow:0 18px 70px #173b3f40!important;overflow:auto!important;overscroll-behavior:contain;touch-action:pan-y;text-align:left!important;font-family:Arial,'Noto Sans TC',system-ui,sans-serif!important;transform:none!important;z-index:1000;}
.pf-game dialog.pf-entry:not([open]){display:none!important;}
.pf-game dialog.pf-entry[open]{display:block!important;}
.pf-game dialog.pf-entry::backdrop{background:#173b3f80;backdrop-filter:blur(4px);}
.pf-entry-backdrop{position:fixed;inset:0;background:#173b3f80;backdrop-filter:blur(4px);z-index:999;}
.pf-game .pf-entry .pf-entry-brand{font-size:13px!important;letter-spacing:2px;color:#64796a;margin:0 0 12px!important;}
.pf-game .pf-entry h2{font-size:30px!important;line-height:1.3!important;font-weight:800!important;margin:0 0 18px!important;letter-spacing:0!important;overflow-wrap:anywhere;}
.pf-game .pf-entry .pf-entry-goal,.pf-game .pf-entry .pf-entry-operation{font-size:18px!important;line-height:1.6!important;margin:0 0 16px!important;display:block!important;color:#243e38!important;}
.pf-game .pf-entry .pf-entry-goal{font-weight:700;}
.pf-game .pf-entry details{margin:16px 0!important;font-size:16px!important;line-height:1.6!important;}
.pf-game .pf-entry summary{min-height:44px;display:flex;align-items:center;font-size:16px!important;cursor:pointer;}
.pf-game .pf-entry details p,.pf-game .pf-entry details li{font-size:16px!important;line-height:1.6!important;}
.pf-game .pf-entry a{color:inherit;overflow-wrap:anywhere;}
.pf-game .pf-entry .pf-entry-start{display:block;width:100%;min-height:52px!important;margin:20px 0 0!important;padding:12px 18px!important;background:#27674f!important;color:#fff9e8!important;border:1px solid #27674f!important;border-radius:12px!important;font:700 18px/1.4 Arial,'Noto Sans TC',system-ui,sans-serif!important;cursor:pointer;}
.pf-game .pf-entry .pf-entry-start:disabled{opacity:.5;cursor:not-allowed;}
.pf-game .pf-entry :focus-visible{outline:3px solid #db884b;outline-offset:3px;}

/* Visible recovery while modules initialize; not a playable legacy intro. */
.pf-game .pf-entry-loading{max-width:560px;margin:12px auto;padding:12px 16px;font:400 18px/1.6 Arial,'Noto Sans TC',sans-serif;color:#243e38;background:#fff9e8;border:1px solid #bdc9b8;border-radius:12px}.pf-game .pf-entry-loading a{color:inherit;text-decoration:underline}

/* A suspended underlying view cannot compete with the single help owner. */
.pf-game [data-pf-help-suspended]{display:none!important}
.pf-game .pf-header nav .pf-entry-help{min-width:72px!important;min-height:44px!important;white-space:nowrap;flex-shrink:0}
.pf-game .pf-entry .audio-settings{font-size:18px;line-height:1.5}.pf-game .pf-entry .audio-settings button,.pf-game .pf-entry .audio-settings input{min-height:44px}

.pf-game .pf-pause-help{min-height:44px;min-width:72px;font:700 18px/1.4 Arial,sans-serif;display:block;margin:12px auto;padding:10px 16px;border:1px solid #bdc9b8;border-radius:10px;background:#fff9e8;color:#243e38}.pf-game .pf-pause-help[hidden]{display:none!important}
/* Home stays reachable: actions get their own bounded row on narrow screens. */
@media(max-width:640px){
 .pf-game .pf-header{grid-template-columns:auto minmax(0,1fr);gap:4px 8px}
 .pf-game .pf-header .pf-home{grid-column:1;grid-row:1}
 .pf-game .pf-header h1{grid-column:2;grid-row:1;padding:0;font-size:16px}
 .pf-game .pf-header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 72px;width:100%;min-width:0;gap:4px}
 .pf-game .pf-header nav button{min-width:0;width:100%;padding:4px;white-space:normal;line-height:1.2}
 .pf-game .pf-header nav .pf-entry-help{min-width:72px!important;white-space:nowrap}
}

/* Approved V2: a game ticket, not an operating-system settings panel. */
.pf-game dialog.pf-entry{width:min(480px,calc(100vw - 24px))!important;padding:22px!important;border:2px solid #174941!important;border-radius:26px!important;background:#fff9e9!important;color:#173f39!important;box-shadow:0 8px 0 #173f392b,0 24px 70px #123c3e45!important;}
.pf-game .pf-entry .pf-menu-ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 80px;column-gap:12px;margin:-22px -22px 20px!important;padding:22px 20px 20px!important;background:#f4dda7;border-bottom:2px dashed #759588;border-radius:23px 23px 0 0;overflow:hidden;}
.pf-game .pf-entry .pf-menu-ticket>img{grid-column:2;grid-row:1/4;align-self:center;width:80px;height:80px;object-fit:contain;border-radius:20px;transform:rotate(5deg);filter:drop-shadow(0 4px 0 #164c3920);}
.pf-game .pf-entry .pf-menu-ticket>:not(img){grid-column:1;}
.pf-game .pf-entry .pf-menu-ticket h2{font-size:27px!important;line-height:1.3!important;margin:4px 0 8px!important;color:#123f3c!important;}
.pf-game .pf-entry .pf-menu-ticket .pf-entry-brand,.pf-game .pf-entry .pf-menu-kicker{font-size:13px!important;font-weight:800;letter-spacing:.08em;margin:0!important;color:#34655a;}
.pf-game .pf-entry .pf-menu-note{font-size:15px!important;line-height:1.5!important;margin:0!important;color:#385a4b;}
.pf-game .pf-entry .pf-entry-start{border:2px solid #174941!important;border-radius:17px!important;background:#ef945a!important;color:#123f3c!important;box-shadow:0 4px 0 #174941!important;font-size:18px!important;min-height:52px!important;margin:14px 0 20px!important;transition:transform .1s,box-shadow .1s;}
.pf-game .pf-entry .pf-entry-start:active{transform:translateY(3px);box-shadow:0 1px 0 #174941!important;}
.pf-game .pf-entry .pf-menu-row,.pf-game .pf-entry details>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:10px 0;padding:12px 15px;border:1.5px solid #648979;border-radius:15px;background:#f7f4df;color:#173f39;font:700 18px/1.4 Arial,'Noto Sans TC',system-ui,sans-serif;box-shadow:0 3px 0 #cfdbbf;cursor:pointer;text-align:left;list-style:none;}
.pf-game .pf-entry .pf-menu-row::after,.pf-game .pf-entry details>summary::after{content:'›';font-size:25px;font-weight:400;line-height:1;}
.pf-game .pf-entry details[open]>summary::after{transform:rotate(90deg);}
.pf-game .pf-entry details>summary::-webkit-details-marker{display:none;}
.pf-game .pf-entry .pf-menu-audio{margin:16px 0;padding:16px;border:1px solid #91b6a3;border-radius:19px;background:#dcebdd;color:#173f39;}
.pf-game .pf-entry .pf-menu-audio h3{font-size:17px;line-height:1.4;margin:0 0 10px!important;}
.pf-game .pf-entry .pf-audio-channel{display:grid;grid-template-columns:minmax(0,1fr) auto 52px;gap:0 8px;align-items:center;padding:4px 0;}
.pf-game .pf-entry .pf-audio-channel>span{font-size:18px;line-height:1.4;font-weight:700;}
.pf-game .pf-entry .pf-audio-switch{box-sizing:border-box;min-width:64px;min-height:44px;margin:0;padding:6px 10px;border:1.5px solid #2d7464;border-radius:24px;font:700 16px/1.3 Arial,'Noto Sans TC',sans-serif;background:#fff9e9;color:#315d50;}
.pf-game .pf-entry .pf-audio-switch[aria-pressed=true]{background:#19655d;color:#fff9e9;box-shadow:inset 0 -2px 0 #103f3a;}
.pf-game .pf-entry .pf-audio-channel output{font:800 16px/1.4 Arial,'Noto Sans TC',sans-serif;text-align:right;font-variant-numeric:tabular-nums;}
.pf-game .pf-entry .pf-audio-channel input[type=range]{grid-column:1/-1;box-sizing:border-box;display:block;width:100%;min-height:44px;height:44px;padding:0;margin:2px 0 0;accent-color:#19655d;cursor:pointer;touch-action:pan-x;}
.pf-game .pf-entry .pf-audio-status{font-size:13px!important;line-height:1.45!important;color:#406b59;margin:5px 0 0!important;min-height:19px;}
.pf-game .pf-entry .pf-menu-home{display:flex;align-items:center;justify-content:center;min-height:44px;margin:12px 0 0;font-size:15px;font-weight:700;color:#4c7061;text-underline-offset:4px;}
.pf-game .pf-entry [hidden]{display:none!important;}
.pf-game .pf-header nav .pf-menu-music[aria-pressed=true]{background:#dcebdd;border-color:#5e9583;color:#164b41;}
.pf-game .pf-header nav .pf-menu-music[aria-pressed=false]{background:#f7f4e9;color:#647469;}
.pf-game .pf-entry>details.pf-leaderboard{border:0;padding:0;background:none;box-shadow:none;}
@media(max-width:640px){
 .pf-game dialog.pf-entry{padding:18px!important;border-radius:24px!important;}
 .pf-game .pf-entry .pf-menu-ticket{margin:-18px -18px 18px!important;padding:18px 16px!important;grid-template-columns:minmax(0,1fr) 66px;}
 .pf-game .pf-entry .pf-menu-ticket>img{width:66px;height:66px;border-radius:17px;}
 .pf-game .pf-entry .pf-menu-ticket h2{font-size:25px!important;}
 .pf-game .pf-entry .pf-menu-audio{padding:12px;}
}
@media(max-height:480px) and (orientation:landscape){
 .pf-game dialog.pf-entry{width:min(660px,calc(100vw - 32px))!important;}
 .pf-game .pf-entry .pf-menu-ticket{padding-top:14px!important;padding-bottom:14px!important;}
 .pf-game .pf-entry .pf-menu-note{font-size:14px!important;}
}
@media(prefers-reduced-motion:reduce){.pf-game .pf-entry .pf-entry-start{transition:none;}}
