.pg-host{--pg-ink:#173c43;--pg-ocean:#165e6b;--pg-mint:#c9eddb;--pg-sand:#f9f5e9;--pg-gold:#efb856;color:var(--pg-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;min-width:0;color-scheme:light}
.pg-game,.pg-game *,.pg-game *::before,.pg-game *::after{box-sizing:border-box}
.pg-game{max-width:1440px;margin:auto;padding:clamp(16px,3vw,40px);background:var(--pg-sand);border-radius:24px;overflow-wrap:anywhere}
.pg-game h1,.pg-game h2,.pg-game h3,.pg-game p{margin:0 0 12px}
.pg-game h1{font-size:clamp(2rem,4.5vw,3.9rem);line-height:1.05;letter-spacing:-.055em}
.pg-game h2{font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.2;letter-spacing:-.025em}
.pg-game h3{font-size:1.1rem;line-height:1.3}
.pg-game button{font:inherit;font-size:.9rem;line-height:1.35;min-height:44px;padding:10px 14px;border:1.5px solid var(--pg-ink);border-radius:12px;background:#fffdf4;color:var(--pg-ink);cursor:pointer;white-space:normal;text-align:center;max-width:100%;touch-action:manipulation}
.pg-game button:hover:not(:disabled){background:#d9eee2}
.pg-game button:active:not(:disabled){background:#c5e6d3}
.pg-game button:focus-visible,.pg-game input:focus-visible,.pg-map:focus-visible{outline:3px solid #bb4b27;outline-offset:4px}
.pg-game button:disabled{opacity:.55;cursor:default}
.pg-game .pg-primary{background:var(--pg-ink);color:white}
.pg-game .pg-primary:hover:not(:disabled){background:#28656c}
.pg-game .pg-secondary{background:transparent}
.pg-header{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:18px}
.pg-header>div:first-child{min-width:0}
.pg-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:350px}
.pg-eyebrow{font-size:.7rem;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.pg-demo{font-size:.78rem;padding:10px 14px;border-left:3px solid #b27b25;background:#f1e7ce}
.pg-intro{max-width:850px;font-size:1.05rem}
.pg-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:9px}
.pg-toolbar button{font-size:.82rem}
.pg-timer{display:flex;gap:9px;align-items:center;margin-left:auto;font-size:.8rem}
.pg-timer strong{font-variant-numeric:tabular-nums;font-size:1.25rem}
.pg-paused{min-height:1.5em;font-size:.83rem;font-weight:700;margin-top:8px!important}
.pg-guide{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,2fr);gap:0 20px;margin:12px 0 22px;padding:15px 19px;background:#e1ebdb;border-radius:12px}
.pg-guide strong{align-self:center;font-size:.88rem;grid-row:span 2}
.pg-guide p{font-size:.8rem;margin:0}
.pg-guide small{font-size:.72rem}
.pg-perspectives{border:0;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.pg-perspectives legend{font-size:.8rem;font-weight:800;margin:0 0 8px}
.pg-perspectives label{padding:9px 13px;min-height:44px;display:flex;align-items:center;gap:7px;border:1px solid #8da89d;background:#fffdf4;border-radius:22px;font-size:.84rem;cursor:pointer}
.pg-perspectives label:has(input:checked){background:var(--pg-ink);color:#fff;border-color:var(--pg-ink)}
.pg-perspectives input{accent-color:#b87221;width:17px;height:17px;margin:0}
.pg-perspectives p{flex-basis:100%;font-size:.74rem;margin:0;color:#38555a}
.pg-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:stretch}
.pg-map-section{min-width:0;display:flex;flex-direction:column}
.pg-map{position:relative;min-height:440px;height:100%;max-height:570px;aspect-ratio:1.3;border:3px solid var(--pg-ink);border-radius:18px;overflow:hidden;background:var(--pg-ocean);isolation:isolate;touch-action:none}
.pg-world{position:absolute;inset:0;width:100%;height:100%}
.pg-water{animation:pg-waves 8s linear infinite}
.pg-fish{animation:pg-fish 6s ease-in-out infinite;transform-origin:50% 50%}
.pg-avatar{position:absolute;width:66px;height:80px;transform:translate(-50%,-20%);z-index:3;pointer-events:none;filter:drop-shadow(0 5px 2px #113e4c66)}
.pg-avatar svg{width:100%;height:100%;overflow:visible;animation:pg-bob 2.7s ease-in-out infinite}
.pg-cape{transform-origin:35px 47px;animation:pg-cape 2s ease-in-out infinite}
.pg-breeze{animation:pg-breeze 2.5s linear infinite}
.pg-game button.pg-zone{position:absolute;left:var(--zx);top:var(--zy);transform:translate(-50%,-60%);padding:4px 7px 6px;background:#fff9e8eF;border:1px solid #19444a;width:150px;min-height:54px;z-index:4;box-shadow:0 3px 0 #173c4344;border-radius:11px;display:flex;align-items:center;gap:6px}
.pg-zone span{display:grid;place-items:center;flex-shrink:0;background:var(--pg-ink);color:white;font-weight:800;border-radius:50%;width:29px;height:29px;font-size:.85rem}
.pg-zone small{font-size:.72rem;line-height:1.2;font-weight:700;text-align:left}
.pg-game button.pg-zone.is-current{background:#ffdc86;border-width:2px;box-shadow:0 0 0 3px #fff1b3aa}
.pg-game button.pg-zone.is-complete span{background:#2b6c52}
.pg-map-section>.pg-small{margin:10px 0;font-size:.73rem}
.pg-map-footer{display:flex;justify-content:space-between;align-items:center;gap:15px}
.pg-dpad{display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px;flex-shrink:0}
.pg-dpad button{padding:0;min-width:44px;font-size:1.25rem;touch-action:none;user-select:none;-webkit-user-select:none}
.pg-dpad button[data-move=up]{grid-column:2}
.pg-dpad button[data-move=left]{grid-column:1;grid-row:2}
.pg-dpad button[data-move=down]{grid-column:2;grid-row:2}
.pg-dpad button[data-move=right]{grid-column:3;grid-row:2}
.pg-progress{font-size:.8rem;text-align:right;font-weight:700}
.pg-axes{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}
.pg-axes span{font-size:.65rem;padding:4px 8px;background:#e5e8d7;border-radius:14px}
.pg-mission{min-width:0;border:1px solid #a8b7a6;border-radius:18px;padding:24px;background:#fffdf6;box-shadow:0 9px 22px #173c4309}
.pg-mission>p:not(.pg-eyebrow){font-size:.88rem}
.pg-mission-title:focus{outline:0}
.pg-view-prompt{padding:10px 12px;border-radius:8px;background:#e8eee0;font-size:.76rem!important}
.pg-steps{padding:0;list-style:none;display:flex;gap:4px;margin:17px 0 24px}
.pg-steps li{font-size:.61rem;flex:1;line-height:1.2;text-align:center;color:#48616a;min-width:0}
.pg-steps li>span{display:grid;place-items:center;width:27px;height:27px;background:#e9ece1;border-radius:50%;margin:0 auto 6px;font-weight:800;color:var(--pg-ink);font-size:.73rem}
.pg-steps li[aria-current=step]{color:var(--pg-ink);font-weight:800}
.pg-steps li[aria-current=step]>span{background:#ffd483;box-shadow:0 0 0 2px var(--pg-ink)}
.pg-steps li.is-done>span{background:#c6e3c6}
.pg-stage{font-size:.9rem;min-height:185px}
.pg-stage>.pg-small{font-size:.75rem}
.pg-choices{display:grid;gap:9px;margin:12px 0}
.pg-choices button{text-align:left;padding:12px 15px}
.pg-stage>button{width:100%}
.pg-question{font-weight:750}
.pg-stage blockquote{margin:14px 0;padding:12px 15px;border-left:3px solid #c18a32;background:#fff1d4;font-size:1.03rem;font-weight:600}
.pg-feedback{background:#e0eddc;border:1px solid #94ae8e;border-radius:10px;padding:12px 14px;margin-top:16px;font-size:.82rem}
.pg-retry{background:#f9e7cf;border-color:#c28a56}
.pg-success{color:#266044;font-weight:800;font-size:1.1rem}
.pg-network{margin-top:26px;padding:22px;border-radius:17px;background:#e3eadd}
.pg-network>p{font-size:.8rem}
.pg-nodes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.pg-nodes button{position:relative;background:#f7f7ea;font-size:.72rem;min-height:77px;border-color:#789a8d;padding:10px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.pg-nodes button>span{font-size:.65rem;font-weight:800;opacity:.7}
.pg-nodes button[aria-pressed=true]{background:var(--pg-ink);color:#fff}
.pg-nodes button>b{position:absolute;right:-9px;top:25px;z-index:2;color:var(--pg-ink);font-size:1.1rem;pointer-events:none}
.pg-node-detail{margin-top:13px;padding:14px 17px;background:#fffdf4;border-radius:10px;font-size:.88rem;border:1px solid #c1cdb9}
.pg-node-detail strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}
.pg-node-detail p{margin:5px 0 0}
.pg-privacy{font-size:.8rem;font-weight:650;margin:20px 0 12px!important}
.pg-limits{font-size:.73rem;color:#456164;margin-top:15px!important;max-width:950px}
.pg-dialog{width:min(700px,calc(100% - 24px));max-width:700px;max-height:calc(100dvh - 32px);padding:25px;border:2px solid var(--pg-ink);border-radius:18px;background:var(--pg-sand);color:var(--pg-ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 70px #102f4166}
.pg-dialog::backdrop{background:#123844b9}
.pg-dialog p{font-size:.88rem}
.pg-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:15px}
.pg-dialog-header>button{flex-shrink:0}
.pg-dialog-header h2{margin:6px 0 0}
.pg-notebook-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}
.pg-notebook-list article{background:#fffdf4;padding:14px;border:1px solid #b8c5b3;border-radius:10px}
.pg-notebook-list article p{font-size:.76rem}
.pg-dialog dd{margin:0 0 12px;overflow-wrap:anywhere;font-size:.9rem}
.pg-dialog dt{font-size:.75rem;font-weight:800}
.pg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pg-game.is-paused *,.pg-game.is-paused *::before,.pg-game.is-paused *::after{animation-play-state:paused!important;transition:none!important}
.pg-game.is-reduced *,.pg-game.is-reduced *::before,.pg-game.is-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes pg-waves{to{transform:translateX(-100px)}}
@keyframes pg-fish{50%{transform:translateX(12px)}}
@keyframes pg-bob{50%{transform:translateY(-4px) rotate(2deg)}}
@keyframes pg-cape{50%{transform:rotate(-9deg)}}
@keyframes pg-breeze{50%{transform:translateX(3px);opacity:.4}}
@media(max-width:900px){.pg-layout{grid-template-columns:1fr}.pg-map{height:430px;min-height:350px;aspect-ratio:auto}.pg-mission{padding:22px}.pg-stage{min-height:0}.pg-header-actions{max-width:260px}.pg-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-nodes button:nth-child(3)>b{display:none}}
@media(max-width:540px){.pg-game{padding:16px 12px;border-radius:16px}.pg-header{display:block;margin-bottom:14px}.pg-header-actions{justify-content:start;max-width:none;margin-top:14px}.pg-header-actions>button{flex:1;font-size:.73rem;padding:9px}.pg-header>div>p{font-size:.86rem}.pg-header>div>p.pg-eyebrow{font-size:.65rem}.pg-demo{font-size:.69rem;padding:9px 11px}.pg-intro{font-size:.9rem}.pg-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pg-toolbar>button{font-size:.74rem;padding:8px 9px}.pg-timer{grid-column:1/-1;justify-content:end}.pg-guide{grid-template-columns:1fr;padding:12px;gap:4px}.pg-guide strong{grid-row:auto}.pg-guide p{font-size:.72rem}.pg-guide small{font-size:.65rem}.pg-perspectives{gap:6px}.pg-perspectives label{padding:8px 10px;font-size:.75rem;flex:1 1 calc(50% - 6px)}.pg-perspectives p{font-size:.67rem}.pg-map{height:345px;min-height:345px;border-width:2px}.pg-avatar{width:52px;height:65px}.pg-game button.pg-zone{width:117px;gap:4px;padding:4px 5px;min-height:51px}.pg-zone small{font-size:.62rem}.pg-zone span{width:24px;height:24px;font-size:.72rem}.pg-map-section>.pg-small{font-size:.66rem}.pg-mission{padding:17px 14px}.pg-steps{gap:2px;margin-bottom:20px}.pg-steps li{font-size:.56rem}.pg-mission>p:not(.pg-eyebrow){font-size:.83rem}.pg-stage{font-size:.85rem}.pg-stage blockquote{font-size:.92rem;padding:11px}.pg-network{padding:15px 11px}.pg-nodes{gap:8px}.pg-nodes button{min-height:70px;font-size:.66rem;padding:7px 3px}.pg-node-detail{font-size:.82rem;padding:12px}.pg-dialog{padding:17px 13px}.pg-dialog-header{gap:8px}.pg-dialog-header h2{font-size:1.2rem}.pg-dialog-header button{padding:8px 10px;font-size:.76rem}.pg-notebook-list{grid-template-columns:1fr}.pg-privacy,.pg-limits{font-size:.68rem}.pg-choices button{font-size:.81rem}.pg-progress{font-size:.73rem}.pg-axes span{font-size:.6rem}.pg-view-prompt{font-size:.7rem!important}}
@media(prefers-reduced-motion:reduce){.pg-game *,.pg-game *::before,.pg-game *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
