.pe-page{--pe-card:#fff;--pe-ok:#14804a;--pe-okbg:#eaf6ef;--pe-red:#b20000;--pe-y:#c98a00;--pe-o:#de6b12;--pe-r:#c62828;--pe-shadow:0 22px 48px -32px rgba(10,10,20,.45);--pe-sea:#cfe2f0;--pe-nb:#ebe7df;--pe-nbs:#c9c1b3;--pe-gr:#fff;--pe-grs:#7f97aa;--pe-line:#16181c;--pe-mapw:calc((100vh - 112px) * 1.1549);overflow-x:clip}
html[data-theme="dark"] .pe-page{--pe-card:#161618;--pe-ok:#4cc38a;--pe-okbg:rgba(76,195,138,.14);--pe-red:#d42a2a;--pe-y:#e5b43c;--pe-o:#f08a3c;--pe-r:#ef6b6b;--pe-shadow:none;--pe-sea:#0f1d29;--pe-nb:#1d2127;--pe-nbs:#363d46;--pe-gr:#363e49;--pe-grs:#8296a8;--pe-line:#f2f2f2}
.pe-page [hidden]{display:none!important}

.pe-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--color-bg-soft);border-bottom:1px solid var(--color-hairline)}
.pe-hp{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:calc(max(0px,(100vw - 1440px)/2) + 20px + min(52vw,780px));pointer-events:none}
.pe-hp img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 55%;-webkit-mask-image:linear-gradient(to right,transparent,#000 40%);mask-image:linear-gradient(to right,transparent,#000 40%)}
html[data-theme="dark"] .pe-hp img{filter:brightness(.84)}
.pe-hero__in{display:flex;flex-direction:column;justify-content:center;min-height:430px;padding-top:40px;padding-bottom:44px}
.pe-hero__t{max-width:min(620px,44vw)}
.pe-eyebrow{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--color-brand)}
.pe-hero h1{margin:0 0 12px;font-family:var(--font-head);font-size:clamp(40px,5.4vw,78px);line-height:1;letter-spacing:-.025em;font-weight:900;color:var(--color-ink)}
.pe-sub{max-width:600px;margin:0;font-size:17px;line-height:1.5;color:var(--color-muted)}
.pe-how{list-style:none;display:grid;gap:8px;margin:20px 0 0;padding:0;counter-reset:none}
.pe-how li{display:flex;align-items:center;gap:11px;font-size:15px;line-height:1.4;color:var(--color-text)}
.pe-how b{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--color-ink);color:var(--color-bg);font-size:14px;font-weight:900}

.pe-page .pe-ad{margin:18px auto 0}
@media (min-width:1024px){.pe-page .pe-ad{display:none!important}}
.pe-body{padding-top:24px;padding-bottom:64px}

.pe-game{background:var(--pe-card);border:1px solid var(--color-border);border-radius:20px;overflow:hidden;box-shadow:var(--pe-shadow);scroll-margin-top:72px}
.pe-top{grid-area:top;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:16px 22px 4px}
.pe-modes{display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:var(--color-bg-soft)}
.pe-mode{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 18px;border:0;border-radius:99px;background:transparent;color:var(--color-muted);font:inherit;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap}
.pe-mode b{font-variant-numeric:tabular-nums;color:inherit}
.pe-mode b:empty{display:none}
.pe-mode[aria-selected="true"]{background:var(--color-ink);color:var(--color-bg)}
.pe-mode:hover:not([aria-selected="true"]){color:var(--color-ink)}
.pe-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1 1 100%}
.pe-lv{min-height:48px;display:grid;align-content:center;justify-items:center;gap:1px;padding:4px 8px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-ink);font:inherit;cursor:pointer}
.pe-lv b{font-size:15px;font-weight:800;line-height:1.2}
.pe-lv span{font-size:12px;line-height:1.2;color:var(--color-meta);text-align:center}
.pe-lv:hover{border-color:var(--color-ink)}
.pe-lv[aria-checked="true"]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}
.pe-lv[aria-checked="true"] span{color:var(--color-bg);opacity:.8}
.pe-mode:focus-visible,.pe-lv:focus-visible,.pe-ok:focus-visible,.pe-next:focus-visible,.pe-share:focus-visible,.pe-again:focus-visible,.pe-zb:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}

.pe-board{display:grid;grid-template-columns:minmax(0,var(--pe-mapw)) minmax(320px,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"map top" "map q" "map act"}
.pe-qbox{grid-area:q;display:grid;gap:10px;align-content:start;padding:18px 22px 6px}
.pe-mapbox{grid-area:map;position:relative;aspect-ratio:1000/865.842;background:var(--pe-sea);border-right:1px solid var(--color-hairline);overflow:hidden}
.pe-actbox{grid-area:act;display:grid;gap:12px;align-content:start;padding:8px 22px 22px}

.pe-prog{display:flex;align-items:center;gap:12px;margin:0;font-size:13px;font-weight:700;color:var(--color-meta)}
.pe-step{font-variant-numeric:tabular-nums;white-space:nowrap}
.pe-dots{display:flex;gap:4px;flex:1;min-width:0}
.pe-dots i{flex:0 1 26px;height:6px;border-radius:3px;background:var(--color-border)}
.pe-dots i.cur{background:var(--color-ink)}
.pe-dots i.g{background:var(--pe-ok)}
.pe-dots i.y{background:var(--pe-y)}
.pe-dots i.o{background:var(--pe-o)}
.pe-dots i.r{background:var(--pe-r)}
.pe-total{white-space:nowrap;font-variant-numeric:tabular-nums}
.pe-total b{font-size:15px;font-weight:900;color:var(--color-ink)}
.pe-cat{justify-self:start;margin:6px 0 0;padding:6px 11px;border-radius:99px;background:color-mix(in srgb,var(--color-brand) 10%,transparent);color:var(--color-brand);font-size:11.5px;font-weight:800;letter-spacing:.1em;line-height:1.2}
.pe-cat:empty{display:none}
html[data-theme="dark"] .pe-cat{color:#ff8a8a}
.pe-q{margin:0;font-family:var(--font-head);font-size:clamp(24px,2.6vw,36px);font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--color-ink);text-wrap:balance}
.pe-q:focus{outline:none}

.pe-map{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:crosshair}
.pe-map:focus{outline:none}
.pe-map:focus-visible{outline:3px solid var(--color-brand);outline-offset:-3px}
.pe-map.is-zoomed{cursor:grab}
.pe-map.is-grab{cursor:grabbing}
.pe-game[data-state="answer"] .pe-map,.pe-game[data-state="done"] .pe-map{cursor:default}
.pe-game[data-state="answer"] .pe-map.is-zoomed,.pe-game[data-state="done"] .pe-map.is-zoomed{cursor:grab}
.pe-sea{fill:var(--pe-sea)}
.pe-nb{fill:var(--pe-nb);stroke:var(--pe-nbs);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pe-gr{fill:var(--pe-gr);stroke:var(--pe-grs);stroke-width:.9px;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pe-lk{fill:var(--pe-sea);stroke:var(--pe-grs);stroke-width:.6px;vector-effect:non-scaling-stroke}
.pe-pin path{fill:var(--pe-red);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}
.pe-pin circle{fill:#fff}
.pe-pin text,.pe-true text{font:800 11px/1 var(--font-body);fill:#fff;pointer-events:none}
.pe-pin--sm text{font-size:11px}
.pe-true__ring{fill:none;stroke:var(--pe-ok);stroke-width:2px;opacity:.55;vector-effect:non-scaling-stroke}
.pe-true__dot{fill:var(--pe-ok);stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke}
.pe-true__in{fill:#fff}
.pe-line{stroke:var(--pe-line);stroke-width:2px;stroke-dasharray:7 5;stroke-linecap:round;fill:none}
.pe-shape{fill:color-mix(in srgb,var(--pe-ok) 28%,transparent);stroke:var(--pe-ok);stroke-width:1.6px}
.pe-ov{pointer-events:none}

.pe-zoom{position:absolute;top:12px;right:12px;display:grid;gap:6px}
.pe-zb{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:12px;background:var(--pe-card);color:var(--color-ink);box-shadow:0 6px 18px -10px rgba(0,0,0,.45);cursor:pointer}
.pe-zb:hover:not(:disabled){border-color:var(--color-ink)}
.pe-zb:disabled{opacity:.45;cursor:default}

.pe-hint{margin:0;font-size:14.5px;line-height:1.5;color:var(--color-muted)}
.pe-hint__t{display:none}
@media (hover:none) and (pointer:coarse){.pe-hint__d{display:none}.pe-hint__t{display:inline}}
.pe-ok,.pe-next{width:100%;min-height:54px;border:0;border-radius:14px;font:inherit;font-size:16.5px;font-weight:800;cursor:pointer}
.pe-ok{background:var(--pe-red);color:#fff;transition:background-color .15s,opacity .15s}
.pe-ok:hover:not(:disabled){background:#8f0000}
.pe-ok:disabled{background:var(--color-border);color:var(--color-meta);cursor:default}
.pe-next{background:var(--color-ink);color:var(--color-bg)}
.pe-next:hover{opacity:.9}
.pe-fb{display:grid;gap:8px;padding:14px 16px 16px;border-radius:14px;background:var(--color-bg-soft)}
.pe-fb__km{margin:0;font-size:16px;line-height:1.35;color:var(--color-text)}
.pe-fb__km b{font-size:22px;font-weight:900;color:var(--color-ink);font-variant-numeric:tabular-nums}
.pe-fb__pts{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:6px 8px}
.pe-fb__pts>b{font-size:34px;line-height:1;font-weight:900;color:var(--color-ink);font-variant-numeric:tabular-nums}
.pe-fb__pts>span{font-size:14px;font-weight:700;color:var(--color-meta)}
.pe-bar{grid-column:1/-1;display:block;height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}
.pe-bar i{display:block;height:100%;width:0;border-radius:4px;background:var(--pe-ok);transition:width .5s ease}
.pe-bar i.y{background:var(--pe-y)}
.pe-bar i.o{background:var(--pe-o)}
.pe-bar i.r{background:var(--pe-r)}
.pe-fb__name{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:4px 0 0;font-size:14px;color:var(--color-meta)}
.pe-fb__name b{font-size:18px;font-weight:800;color:var(--color-ink)}
.pe-fb__fact{margin:0;font-size:15.5px;line-height:1.5;color:var(--color-text)}

.pe-res{display:grid;gap:12px;justify-items:center;padding:4px 0 0;text-align:center}
.pe-res__k{margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--color-brand)}
html[data-theme="dark"] .pe-res__k{color:#ff8a8a}
.pe-res__big{margin:0;line-height:1;font-weight:900;color:var(--color-ink);font-variant-numeric:tabular-nums}
.pe-res__big:focus{outline:none}
.pe-res__big b{font-size:62px;letter-spacing:-.03em}
.pe-res__big small{font-size:22px;font-weight:800;color:var(--color-meta)}
.pe-res__msg{max-width:440px;margin:0;font-size:15px;line-height:1.5;color:var(--color-text)}
.pe-res__list{list-style:none;counter-reset:pe;width:100%;margin:0;padding:0;display:grid;gap:6px;text-align:left}
.pe-res__list li{counter-increment:pe;display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;padding:6px 12px;border-radius:12px;background:var(--color-bg-soft)}
.pe-res__list li::before{content:counter(pe);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--pe-red);color:#fff;font-size:12px;font-weight:900}
.pe-rl__n{min-width:0;font-size:15px;font-weight:800;color:var(--color-ink);overflow-wrap:anywhere}
.pe-rl__k{font-size:13.5px;color:var(--color-meta);white-space:nowrap;font-variant-numeric:tabular-nums}
.pe-rl__p{min-width:52px;text-align:right;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.pe-rl__p.g{color:var(--pe-ok)}
.pe-rl__p.y{color:var(--pe-y)}
.pe-rl__p.o{color:var(--pe-o)}
.pe-rl__p.r{color:var(--pe-r)}
.pe-res__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}
.pe-share,.pe-again{flex:1 1 200px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:0;border-radius:14px;font:inherit;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap}
.pe-share{background:var(--pe-red);color:#fff}
.pe-share:hover{background:#8f0000}
.pe-again{background:var(--color-ink);color:var(--color-bg)}
.pe-copied{max-width:440px;margin:0;font-size:13.5px;font-weight:700;color:var(--pe-ok);overflow-wrap:anywhere;white-space:pre-line}
.pe-res__cd{margin:0;font-size:13.5px;color:var(--color-meta)}
.pe-res__cd time{font-weight:800;color:var(--color-ink);font-variant-numeric:tabular-nums}

.pe-game[data-state="done"] .pe-prog .pe-dots i.cur{background:var(--color-border)}
.pe-game[data-state="done"] .pe-q,.pe-game[data-state="done"] .pe-cat{display:none}
.pe-game[data-state="empty"] .pe-ok,.pe-game[data-state="empty"] .pe-prog{display:none}

.pe-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.pe-card{padding:16px 18px;border:1px solid var(--color-border);border-radius:18px;background:var(--pe-card)}
.pe-card__h{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--color-brand)}
html[data-theme="dark"] .pe-card__h{color:#ff8a8a}
.pe-card p{margin:0;font-size:15px;line-height:1.5;color:var(--color-text)}
.pe-me__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.pe-me__grid>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;min-width:0;padding:10px 12px;border-radius:12px;background:var(--color-bg-soft)}
.pe-me__grid dt{font-size:12.5px;line-height:1.3;color:var(--color-meta)}
.pe-me__grid dd{margin:0;font-size:21px;font-weight:900;line-height:1.2;color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pe-card .pe-me__note{margin-top:10px;font-size:12.5px;line-height:1.4;color:var(--color-meta)}
.pe-scale{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0;padding:0}
.pe-scale li{display:grid;gap:2px;justify-items:center;padding:8px 4px;border-radius:10px;background:var(--color-bg-soft);text-align:center}
.pe-scale b{font-size:12.5px;font-weight:700;color:var(--color-meta);white-space:nowrap}
.pe-scale span{font-size:16px;font-weight:900;color:var(--color-ink);font-variant-numeric:tabular-nums}
.pe-card .pe-rules__s{font-size:13.5px;color:var(--color-muted)}
.pe-facts{list-style:none;display:grid;gap:6px;margin:0 0 12px;padding:0}
.pe-facts li{font-size:14.5px;line-height:1.4;color:var(--color-muted)}
.pe-facts b{font-size:17px;font-weight:900;color:var(--color-ink);font-variant-numeric:tabular-nums}
.pe-note{margin:28px 0 0;font-size:13px;line-height:1.5;color:var(--color-meta)}
.pe-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}

@media (min-width:1024px) and (max-width:1279px){
	.pe-top{padding:14px 18px 2px}
	.pe-qbox{padding:16px 18px 4px}
	.pe-actbox{padding:8px 18px 18px}
	.pe-mode{padding:0 14px;font-size:14.5px}
}
@media (max-width:1023px),(max-aspect-ratio:1/1){
	.pe-board{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"top" "q" "map" "act"}
	.pe-top{padding:12px 16px;border-bottom:1px solid var(--color-hairline)}
	.pe-levels{flex:1 1 360px;max-width:560px}
	.pe-mapbox{border-right:0;border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline)}
	.pe-qbox{padding:14px 16px 12px;gap:8px}
	.pe-actbox{padding:14px 16px 18px}
	.pe-res{padding:0}
}
@media (max-width:1023px){
	.pe-hero{--pe-ph:clamp(190px,42vw,280px)}
	.pe-hp{left:0;width:auto;bottom:auto;height:var(--pe-ph)}
	.pe-hp img{object-position:60% 55%;-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
	.pe-hero__in{min-height:0;padding-top:calc(var(--pe-ph) + 4px);padding-bottom:26px}
	.pe-hero__t{max-width:none}
	.pe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pe-about{grid-column:1/-1}
}
@media (max-width:720px){
	.pe-sub{font-size:16px}
	.pe-how li{font-size:15px}
	.pe-body{padding-top:16px}
	.pe-game{margin:0 -20px;border-radius:0;border-left:0;border-right:0}
	.pe-top{padding:10px 12px;gap:8px}
	.pe-levels{max-width:none}
	.pe-modes{width:100%}
	.pe-mode{flex:1 1 0;justify-content:center;padding:0 10px}
	.pe-levels{flex-basis:100%}
	.pe-q{font-size:24px}
	.pe-zoom{top:8px;right:8px}
	.pe-cards{grid-template-columns:minmax(0,1fr)}
	.pe-fb__pts>b{font-size:30px}
	.pe-res__big b{font-size:56px}
	.pe-hint,.pe-card p,.pe-facts li,.pe-res__msg{font-size:15px}
	.pe-card .pe-rules__s,.pe-note,.pe-res__cd,.pe-copied{font-size:15px}
	.pe-mode{font-size:15px}
	.pe-scale b{font-size:13.5px}
	.pe-prog{font-size:14px}
	.pe-fb__name{font-size:15px}
	.pe-rl__k{font-size:14px}
	.pe-me__grid dt,.pe-card .pe-me__note{font-size:14px}
	.pe-lv span{font-size:12.5px}
	.pe-cat{font-size:12.5px}
}
@media (max-width:380px){
	.pe-scale{grid-template-columns:repeat(3,minmax(0,1fr))}
	.pe-res__list li{grid-template-columns:24px minmax(0,1fr) auto;row-gap:2px}
	.pe-rl__k{grid-column:2}
	.pe-rl__p{grid-column:3;grid-row:1/3}
}
@media (prefers-reduced-motion:reduce){
	.pe-bar i,.pe-ok{transition:none}
}
