/* PlayFormosa admission contract. Import AFTER the game's own art stylesheet. */
.pf-game .pf-header{position:relative;inset:auto;z-index:auto;flex:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;height:auto;min-height:48px;min-width:0;margin:0;padding:0;font-family:Arial,'Noto Sans TC',system-ui,sans-serif;}
.pf-game .pf-header .pf-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;border:1px solid #bdc9b9;border-radius:10px;background:#fffdf4;color:#243d38;text-decoration:none;white-space:nowrap;font:700 14px/1.2 Arial,'Noto Sans TC',system-ui,sans-serif;letter-spacing:0;}
.pf-game .pf-header h1{display:block;min-width:0;margin:0;padding:0;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.3;letter-spacing:0;}
.pf-game .pf-header nav{display:flex;align-items:center;gap:6px;margin:0;}
.pf-game .pf-header nav button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;width:auto;height:44px;margin:0;padding:0 9px;border:1px solid #bdc9b9;border-radius:10px;background:#fffdf4;color:#243d38;font:700 14px/1 Arial,'Noto Sans TC',system-ui,sans-serif;white-space:nowrap;touch-action:manipulation;}
.pf-game .pf-header nav button[aria-pressed="true"]{background:#dff18d;border-color:#67825c;}
.pf-game .pf-header nav button:disabled{opacity:.45;cursor:not-allowed;}
.pf-game .pf-header :is(a,button):focus-visible,.pf-share-actions :is(a,button):focus-visible{outline:3px solid #dc683e;outline-offset:2px;}
.pf-game .pf-header #sound{min-width:44px;width:44px;}.pf-game .pf-header #soundLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.pf-game .pf-header #sound .off{left:13px;top:21px;}
.pf-game.pf-long-jump{grid-template-rows:auto minmax(0,1fr);}
.pf-game.pf-hurdles{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) 24px;gap:8px;}
.pf-game :is(.shell,.game){max-width:none;width:100%;height:100dvh;min-height:0;margin:0;padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));gap:8px;}
.pf-game .shell{display:flex;flex-direction:column;overflow:auto;}.pf-game .game-card{height:auto;display:flex;flex:1;flex-direction:column;min-height:0;max-width:1120px;width:100%;margin:0 auto;}.pf-game .stage{height:auto;min-height:0;flex:1;}.pf-game .game-card .topline{position:relative;inset:auto;pointer-events:auto;height:auto;min-height:48px;padding:8px 16px;flex:none;}.pf-game .game-card .topline h2{font-size:20px;margin:0;}.pf-game .game-card .bottomline{position:relative;inset:auto;max-width:none;flex:none;}.pf-game .shell>footer{flex:none;margin:0;padding:0 4px;}.pf-game #stage{min-height:0;}.pf-game .game>.fineprint{margin:0;min-height:22px;}.pf-game .game>.fineprint button{min-height:22px;}
.pf-game #helpBtn{min-width:44px;min-height:44px;}
.pf-game .pf-share-actions.pf-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.pf-game .pf-share-actions.pf-share-actions :is(button,a){display:flex;align-items:center;justify-content:center;grid-column:auto!important;grid-row:auto!important;min-height:44px;min-width:0;width:100%;margin:0;padding:10px 8px;border:1px solid #bdc9b9;border-radius:10px;background:#e7eddf;color:#243d38;text-align:center;text-decoration:none;font-size:14px;line-height:1.3;font-weight:700;overflow-wrap:anywhere;}
.pf-game .pf-share-actions.pf-share-actions [data-share="image"]{background:#dff18d;}.pf-game .pf-share-actions.pf-share-actions :disabled{opacity:.5;}
.pf-game .pf-result-dialog{position:fixed;inset:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));margin:auto;transform:none;animation:none;width:min(560px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:none;height:fit-content;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:22px;border-radius:20px;display:block;}
.pf-game .pf-result-dialog:not([open]),.pf-game [hidden]{display:none!important;}
.pf-game .pf-result-dialog :is(button,a){min-height:44px;}.pf-game .pf-result-dialog button{touch-action:manipulation;}
.pf-game .pf-result-dialog h2{font-size:24px;line-height:1.4;margin:12px 0;overflow-wrap:anywhere;}.pf-game .pf-result-dialog p{font-size:14px;line-height:1.55;}.pf-game .pf-result-dialog .result-foot{display:block;font-size:11px;}.pf-game .pf-result-dialog .scoreline strong{font-size:58px;letter-spacing:-2px;}.pf-game .pf-result-dialog .result-mini{display:flex;font-size:12px;}.pf-game .pf-result-dialog .result-mini b{display:block;font-size:18px;}.pf-game .pf-result-dialog .judge-scores b{font-size:22px;}.pf-game .pf-result-dialog .platform-share-note{display:block;font-size:12px;line-height:1.5;}.pf-game .pf-result-dialog #resultPhoto{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:12px;background:#20372b;}.pf-game .pf-result-dialog #resultPhoto[hidden]{display:none;}
.pf-game .pf-result-dialog .result-panel{display:block;max-width:none;padding:0;background:none;box-shadow:none;}.pf-game .pf-result-dialog .result-actions{border:0;padding:0;}.pf-game .pf-result-dialog .result-summary{padding:0;}.pf-game .pf-result-dialog .private-note{line-height:1.5;}
.pf-game #platformImageDialog img{display:block;width:100%;height:auto;}.pf-game dialog textarea{width:100%;min-height:150px;font:inherit;user-select:text;}.pf-game .pf-result-dialog [role="status"]{overflow-wrap:anywhere;user-select:text;min-height:0;}
@media(max-width:640px){.pf-game .pf-header{grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;}.pf-game .pf-header .pf-home{justify-self:start;}.pf-game .pf-header h1{grid-column:1/-1;grid-row:2;font-size:15px;padding:2px 8px;}.pf-game .pf-header nav{grid-column:2;grid-row:1;}.pf-game .pf-header nav button{padding:0 7px;font-size:13px;}.pf-game .pf-share-actions.pf-share-actions{grid-template-columns:1fr;}.pf-game .pf-result-dialog{padding:18px;}.pf-game .shell>footer{font-size:10px;}.pf-game .scoreboard{gap:12px;}.pf-game .scoreboard .best{padding-left:12px;}}
@media(max-height:480px) and (orientation:landscape){.pf-game .shell>footer{display:none;}.pf-game .game-card .topline{min-height:36px;padding:4px 12px;}.pf-game .game-card .bottomline{min-height:32px;padding:4px 12px;}.pf-game .pf-result-dialog{width:min(760px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:16px 22px;}.pf-game .pf-result-dialog #resultPhoto{max-height:160px;}.pf-game .pf-share-actions.pf-share-actions{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Existing title/HUD positioning must not turn the shared bar into a floating icon. */
.pf-game .ready.overlay{overflow:auto;overscroll-behavior:contain;touch-action:pan-y;}.pf-game .ready .intro{margin:auto 0;}
.pf-game :is(.card.result,#overlay.result) button{min-height:44px;}

.pf-game .pf-header .pf-audio-status{position:static;inset:auto;grid-column:1/-1;max-width:none;min-width:0;z-index:auto;margin:0;padding:2px 8px;text-align:right;font-size:11px;line-height:1.4;overflow-wrap:anywhere;}

.pf-game .pf-result-dialog [tabindex="-1"]:focus{outline:2px solid currentColor;outline-offset:4px;}

/* Result hierarchy: play actions stay outside optional secondary statistics. */
.pf-game .pf-result-details{grid-column:1/-1;margin:12px 0;border:1px solid #bfcbbd;border-radius:12px;padding:0 12px;min-width:0;text-align:left;}
.pf-game .pf-result-details>summary{min-height:44px;display:flex;align-items:center;font-size:14px;line-height:1.5;font-weight:700;cursor:pointer;}
.pf-game .pf-result-details p{font-size:14px!important;line-height:1.6;overflow-wrap:anywhere;}
.pf-game .pf-result-play{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.pf-game .pf-result-play>button{flex:1 1 150px;min-height:44px;margin:0;}
.pf-game.pf-reaction-rod #againBtn{min-height:48px;}
.pf-game .pf-result-details :is(.result-stats>div>span,.judge-scores span,.result-mini>span){font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
/* Optional entry details stay readable and easy to open without crowding core controls. */
.pf-game .entry-help{grid-column:1/-1;text-align:left;}
.pf-game .entry-help>summary{min-height:44px;display:flex;align-items:center;font-size:14px;line-height:1.5;cursor:pointer;}
.pf-game .entry-help p{font-size:14px;line-height:1.6;display:block;}
.pf-game [data-entry-operation]{font-size:18px!important;line-height:1.6!important;}
.pf-game [data-entry-operation] :is(b,strong,span){font-size:inherit;line-height:inherit;}
.pf-game #center:has([data-entry-goal]){overflow:auto;justify-content:flex-start;touch-action:pan-y;}
.pf-game #center:has([data-entry-goal])>[data-entry-goal]{margin-top:auto;}
.pf-game #center:has([data-entry-goal])>#start{margin-bottom:auto;flex-shrink:0;}

/* Result presentation adopts the same V2 material; scene, score and share pixels are unchanged. */
.pf-game .pf-result-dialog,.pf-game dialog#overlay.result{background:#fff9e9;color:#173f39;border:2px solid #174941;border-radius:24px;box-shadow:0 7px 0 #17494128,0 22px 70px #123c3e45;}
.pf-game .card.result{background:#fff9e9;color:#173f39;border:2px solid #174941;border-radius:24px;}
.pf-game :is(.pf-result-dialog,.card.result,dialog#overlay.result) :is(#again,#againBtn,#retry,#start){background:#ef945a;color:#123f3c;border:2px solid #174941;border-radius:16px;box-shadow:0 4px 0 #174941;min-height:48px;font-weight:800;}
.pf-game :is(.pf-result-dialog,.card.result,dialog#overlay.result) :is(.pf-result-ranking,#replay,#view-final,#replay-last,#watchReplay){min-height:44px;border-radius:14px;}
