:root{background:#252525;color:#fff;--rail:56px}
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
.puzzle-rail [aria-current=page]::before{content:'';position:absolute;left:4px;height:20px;width:2px;background:currentColor}.puzzle-credit{margin-top:auto}.puzzle-rail button{padding:0;border:0;background:none;color:inherit}.puzzle-rail [aria-current=page]{position:relative}
.puzzle-page{position:fixed;inset:0 0 0 var(--rail);margin:0;padding:0}.puzzle-shell{display:grid;grid-template-rows:auto minmax(0,1fr);margin:0;max-width:none;height:100%}.puzzle-header{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:calc(10px + env(safe-area-inset-top)) 14px 12px;background:#252525}.puzzle-header h1{grid-column:1;grid-row:1;font-weight:400;font-size:18px;line-height:1.1;margin:0;letter-spacing:-.035em}.puzzle-header>div:first-child{display:contents}.puzzle-header button{pointer-events:auto}
.puzzle-stats{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1.15fr .75fr 1.1fr;gap:12px;margin:0;line-height:1;white-space:nowrap}.puzzle-stats>div{display:flex;flex-direction:column;gap:5px;min-width:0}.puzzle-stats span{font-size:10px;color:#c8c8c8;letter-spacing:.04em}.puzzle-stats strong{font-size:clamp(18px,5.8vw,26px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;color:#fff}
.puzzle-stats .puzzle-score-heading{display:flex;justify-content:space-between;align-items:baseline;gap:4px}.puzzle-score-heading small{font-size:8px;font-weight:400;line-height:1;letter-spacing:0;color:#ddd;white-space:nowrap}
.puzzle-modes{grid-column:2;grid-row:1;align-self:start;display:grid;grid-template-columns:78px 48px;gap:8px;margin:2px 0 0;font-size:10px;white-space:nowrap;color:#c8c8c8}.puzzle-modes #puzzle-run-mode,.puzzle-modes #puzzle-country-streak{grid-column:1;grid-row:1}.puzzle-modes #puzzle-difficulty{grid-column:2;grid-row:1;text-align:right}.puzzle-modes #puzzle-difficulty,.puzzle-modes #puzzle-country-streak{font-weight:700;color:#fff}
.puzzle-goal{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:7px 8px;font-size:11px;color:#c8c8c8}.puzzle-goal strong{font-size:13px;font-weight:700;color:#fff;white-space:nowrap}.puzzle-goal progress{grid-column:1/-1;appearance:none;-webkit-appearance:none;display:block;width:100%;height:3px;border:0;border-radius:0;background:#555;color:#fff}.puzzle-goal progress::-webkit-progress-bar{background:#555}.puzzle-goal progress::-webkit-progress-value{background:#fff}.puzzle-goal progress::-moz-progress-bar{background:#fff}
.puzzle-stage{position:relative;isolation:isolate;min-height:0}.puzzle-board{position:relative;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overflow:hidden}.puzzle-tile.is-moving{will-change:transform}
.puzzle-backdrop{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:2px;overflow:hidden;opacity:.6;pointer-events:none}.puzzle-backdrop img{width:100%;height:100%;min-height:0;object-fit:cover}
.puzzle-tile{container-type:inline-size;position:absolute;inset:0 auto auto 0;padding:0;border:0;border-radius:0;overflow:hidden;background:#444941;color:#fff;touch-action:none;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.puzzle-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.puzzle-tile .photo-name{z-index:1}
.puzzle-tile.is-selected,.puzzle-tile.is-matching{outline:3px solid var(--country-color,#fff);outline-offset:-3px;z-index:2}.puzzle-tile.is-hint{outline:2px dashed #fff;outline-offset:-4px;z-index:2}.puzzle-tile:disabled{opacity:1;cursor:default}.puzzle-tile .photo-name{font-size:9px;line-height:1.2;padding:4px}.puzzle-country{position:absolute;left:5px;bottom:19px;z-index:3;max-width:calc(100% - 10px);padding:2px 5px;background:var(--country-color,#fff);color:var(--country-ink,#171717);font-size:clamp(13px,18cqw,17px);font-weight:700;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.puzzle-tile.is-first-row .puzzle-country{bottom:15px}
#puzzle-clusters{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.puzzle-cluster-name{position:absolute;display:grid;place-items:center;padding:6px;line-height:1;letter-spacing:-.035em;font-weight:700;text-align:center;text-transform:uppercase;white-space:nowrap;color:var(--country-color)}
.puzzle-guide{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.puzzle-guide svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:2}.puzzle-guide circle{fill:#fff;stroke:#252525;stroke-width:1;animation:puzzle-swipe 1.6s ease-in-out infinite}.puzzle-guide span{position:absolute;padding:5px 9px;background:#fff;color:#252525;font-size:11px;font-weight:700;white-space:nowrap}@keyframes puzzle-swipe{0%,15%{transform:translate(0,0);opacity:1}75%,90%{transform:translate(var(--swipe-x),var(--swipe-y));opacity:1}100%{transform:translate(var(--swipe-x),var(--swipe-y));opacity:0}}@media(prefers-reduced-motion:reduce){.puzzle-guide circle{animation:none}}
.puzzle-chain{position:fixed;left:var(--rail);right:0;top:43%;z-index:20;pointer-events:none;text-align:center;font-weight:700;font-size:clamp(36px,8vw,90px);letter-spacing:-.03em;color:var(--feedback-color,#fff)}
.puzzle-cover{position:absolute;inset:0;z-index:30;display:grid;grid-template-columns:minmax(0,620px);grid-template-areas:'kicker' 'title' 'detail' 'primary' 'secondary' 'select';grid-template-rows:24px clamp(48px,11vw,112px) 72px 52px 44px 44px;align-content:safe center;justify-content:center;gap:10px;text-align:center;padding:24px;background:#252525;color:#fff;overflow-y:auto}.puzzle-cover>p{margin:0;font-size:11px;line-height:1.7}.puzzle-cover>p:first-child{font-size:14px;font-weight:700;letter-spacing:.04em}.puzzle-cover h2{font-size:clamp(48px,11vw,112px);font-weight:400;letter-spacing:-.035em;line-height:1;margin:0;white-space:nowrap}.puzzle-cover>button{min-height:0;padding:0 12px;border:0;background:none;color:#fff;font-size:clamp(24px,5vw,42px);letter-spacing:-.03em}.puzzle-cover .puzzle-text-button{font-size:12px}
#puzzle-cover-kicker{grid-area:kicker}#puzzle-cover-title{grid-area:title}#puzzle-cover-detail{grid-area:detail}#puzzle-primary{grid-area:primary}#puzzle-secondary{grid-area:secondary}#puzzle-select{grid-area:select}.puzzle-score-rule{grid-area:record}.puzzle-setup{grid-area:setup}
#puzzle-cover-detail{white-space:pre-line}.puzzle-cover[data-outcome=failed]>#puzzle-cover-kicker{color:#ff735c}
.puzzle-cover.is-ready{grid-template-columns:minmax(0,420px);grid-template-areas:'title' 'detail' 'record' 'setup' 'primary';grid-template-rows:auto 3.4em 37px auto 72px;gap:14px;padding:20px;text-align:left;font-size:12px;background:rgba(24,26,24,.58)}.puzzle-cover.is-ready>p:first-child{display:none}.puzzle-cover.is-ready h2{font-size:clamp(28px,5vw,44px)}.puzzle-cover.is-ready>#puzzle-cover-detail{font-size:12px;line-height:1.7;white-space:pre-line}.puzzle-cover.is-ready>.puzzle-score-rule{color:#ddd}.puzzle-cover:not(.is-ready)>.puzzle-score-rule{display:none}.puzzle-cover.is-ready>#puzzle-primary{justify-self:center;width:72px;height:72px;padding:0;border-radius:0;background:rgba(250,250,247,.95);color:#252525;font-size:21px}
.puzzle-setup{display:grid;gap:16px;width:100%;text-align:left}.puzzle-setup fieldset{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:52px;gap:8px;min-width:0;padding:0;margin:0;border:0}.puzzle-setup fieldset:first-child{grid-template-rows:52px 34px}.puzzle-setup legend{padding:0;margin:0 0 7px;font-size:10px;line-height:1.2;color:#ddd}.puzzle-setup label{display:flex;align-items:center;gap:7px;min-width:0;min-height:0;padding:8px;border:1px solid rgba(255,255,255,.4);background:rgba(250,250,247,.08);cursor:pointer}.puzzle-setup label:has(input:checked){color:#252525;background:rgba(250,250,247,.94);border-color:#fafaf7}.puzzle-setup label:focus-within{outline:2px solid #fff;outline-offset:3px}.puzzle-setup input{margin:0;width:12px;height:12px;flex-shrink:0;accent-color:#252525}.puzzle-setup strong{display:block;font-size:12px;font-weight:700;white-space:nowrap}.puzzle-setup small{display:block;font-size:10px;margin-top:4px;line-height:1.4;white-space:nowrap}
.puzzle-stage-choice,.puzzle-all-note{grid-column:1/-1;grid-row:2;min-width:0;height:34px}.puzzle-stage-choice{display:flex;align-items:center;gap:10px}.puzzle-setup .puzzle-stage-choice>label{display:block;padding:0;border:0;background:none;white-space:nowrap;font-size:10px}.puzzle-stage-choice select{flex:1;min-width:0;height:34px;padding:5px 7px;border:1px solid #888;border-radius:0;background:rgba(30,32,30,.75);color:#fff;font:12px 'AQ DIN',Arial,sans-serif}.puzzle-stage-choice option{background:#252525;color:#fff}.puzzle-all-note{display:flex;align-items:center;margin:0;font-size:11px;line-height:1.4;color:#ddd}
.puzzle-score-rule>strong{display:block;color:#fff;font-size:14px;font-weight:700;line-height:1.5}.puzzle-score-rule>span{display:block;font-size:10px;line-height:1.6}
.puzzle-footer{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:-1px;white-space:nowrap;pointer-events:none}.puzzle-best{display:none}
@media(max-width:359px){.puzzle-header{padding-inline:10px;gap:8px}.puzzle-header h1{font-size:17px}.puzzle-stats{gap:8px}.puzzle-stats span{font-size:9px}.puzzle-modes button{font-size:10px}.puzzle-footer{padding-inline:10px}.puzzle-status{font-size:9px}}
@media(max-height:600px){.puzzle-header{padding-top:8px;padding-bottom:10px;gap:6px}.puzzle-header h1{font-size:17px}.puzzle-stats>div{gap:4px}.puzzle-stats strong{font-size:20px}.puzzle-country{bottom:18px}.puzzle-tile .photo-name{font-size:8px;padding:3px}.puzzle-footer{padding-top:6px;padding-bottom:10px}.puzzle-cover h2{font-size:48px}.puzzle-cover>p{margin:10px 0}.puzzle-cover>button{min-height:40px}}
@media(max-width:359px){.puzzle-modes{grid-template-columns:66px 27px;gap:7px;font-size:9px}.puzzle-cover.is-ready{padding:12px;gap:10px;grid-template-rows:auto 3.4em 37px auto 64px}.puzzle-setup{gap:12px}.puzzle-setup legend{margin-bottom:5px}.puzzle-setup fieldset{grid-template-rows:48px}.puzzle-setup fieldset:first-child{grid-template-rows:48px 34px}.puzzle-setup label{gap:5px;padding:7px}.puzzle-setup strong{font-size:11px}.puzzle-setup small{font-size:9px}.puzzle-goal{font-size:10px}.puzzle-cover.is-ready h2{font-size:26px}.puzzle-cover.is-ready>#puzzle-primary{width:64px;height:64px}}
@media(min-width:700px){.puzzle-backdrop{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}}
@media(max-height:600px){.puzzle-cover.is-ready{padding:8px 12px;gap:5px;grid-template-rows:26px 33px 32px auto 52px}.puzzle-cover.is-ready h2{font-size:26px}.puzzle-cover.is-ready>#puzzle-cover-detail{font-size:11px;line-height:1.5}.puzzle-cover.is-ready>#puzzle-primary{width:52px;height:52px;font-size:17px}.puzzle-score-rule>strong{font-size:13px;line-height:1.3}.puzzle-score-rule>span{font-size:9px;line-height:1.5}.puzzle-setup{gap:10px}.puzzle-setup fieldset{grid-template-rows:42px;gap:6px}.puzzle-setup fieldset:first-child{grid-template-rows:42px 34px}.puzzle-setup legend{margin-bottom:4px}}
@media(min-width:700px) and (max-height:600px){.puzzle-cover.is-ready{grid-template-columns:220px minmax(0,420px);grid-template-areas:'title setup' 'detail setup' 'record setup' 'primary setup';grid-template-rows:36px 40px 37px 64px;gap:8px 24px}.puzzle-cover.is-ready h2{font-size:32px}.puzzle-cover.is-ready>.puzzle-setup{align-self:center}.puzzle-cover:not(.is-ready){grid-template-columns:1fr 1fr 1fr;grid-template-areas:'kicker kicker kicker' 'title title title' 'detail detail detail' 'primary secondary select';grid-template-rows:20px 48px 40px 44px;gap:6px}}
#puzzle-moves-stat[data-urgency=low] :is(span,strong){color:#efb328}#puzzle-moves-stat[data-urgency=critical] :is(span,strong){color:#ff735c}
.puzzle-clear{position:absolute;inset:0;z-index:25;display:grid;place-items:center;overflow:hidden;background:rgba(24,26,24,.72);pointer-events:none}.puzzle-clear-copy{display:flex;align-items:center;flex-direction:column;gap:12px;color:#fff;animation:puzzle-clear-in .2s ease-out both}.puzzle-clear-copy svg{width:64px;height:64px;border:2px solid currentColor;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.puzzle-clear-copy span{font-size:14px;line-height:1.2;letter-spacing:.04em}.puzzle-clear-copy strong{font-size:clamp(48px,12vw,96px);line-height:1;font-weight:700;letter-spacing:-.035em}.puzzle-clear-particles{position:absolute;inset:0;pointer-events:none}.puzzle-clear-particles>span{position:absolute;left:50%;top:50%;width:8px;height:8px;animation:puzzle-clear-piece .76s var(--delay) ease-out both}
.puzzle-clear[data-outcome=failed] .puzzle-clear-copy :is(svg,#puzzle-clear-detail){color:#ff735c}.puzzle-clear[data-outcome=failed] .puzzle-clear-copy strong{font-size:clamp(32px,10vw,80px)}
@keyframes puzzle-clear-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes puzzle-clear-piece{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn))}}
@media(prefers-reduced-motion:reduce){.puzzle-clear-copy{animation:none}.puzzle-clear-particles{display:none}}
.puzzle-best-share{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:inherit;white-space:nowrap;cursor:pointer}.puzzle-best-share:disabled{cursor:default}.puzzle-best-share:not(:disabled){text-decoration:underline;text-underline-offset:3px}.puzzle-score-heading .puzzle-best-share{font-size:8px;font-weight:400;letter-spacing:0;color:#ddd}.puzzle-score-rule>.puzzle-best-share{display:block;color:#fff;font-size:14px;font-weight:700;line-height:1.5;margin:auto}.puzzle-cover>.puzzle-result-share{position:absolute;top:8px;right:8px;display:grid;place-items:center;min-height:36px;width:36px;height:36px;padding:8px;border:0;border-radius:0;background:transparent;color:#fff;grid-area:auto}.puzzle-result-share svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.puzzle-cover>.puzzle-result-share[hidden]{display:none}
.puzzle-best-share svg{display:inline-block;width:12px;height:12px;margin-left:4px;vertical-align:-1px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.puzzle-setup .puzzle-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-setup .puzzle-levels label{padding:6px 4px;gap:4px}.puzzle-levels input{width:10px;height:10px}.puzzle-levels strong{font-size:11px}.puzzle-levels small{font-size:9px}
#puzzle-board:not([data-difficulty=easy]) .puzzle-country,#puzzle-board[data-difficulty=blind] .photo-name,.puzzle-country[hidden],.photo-name[hidden]{display:none!important}
@media(max-width:359px){.puzzle-modes{grid-template-columns:66px 44px}}
.puzzle-cover.has-results{grid-template-rows:24px clamp(48px,11vw,112px) auto 52px 44px 44px}
.puzzle-result-stats{grid-area:detail;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;max-width:420px;width:100%;margin:0 auto 8px;text-align:left;align-self:center}
.puzzle-result-stats[hidden]{display:none}.puzzle-result-stats>div{min-width:0}.puzzle-result-stats>div:first-child{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.puzzle-result-stats dt{font-size:10px;font-weight:400;color:#c7c7c7;line-height:1.6}.puzzle-result-stats dd{margin:3px 0 0;font-size:26px;font-weight:400;line-height:1.2;white-space:nowrap}.puzzle-result-stats dd small{margin-left:6px;font-size:12px;color:#c7c7c7}
@media(max-height:600px){.puzzle-cover.has-results{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'kicker kicker kicker' 'title title title' 'detail detail detail' 'primary secondary select';grid-template-rows:18px 48px auto 40px;padding:10px;gap:6px}.puzzle-cover.has-results>button:not(.puzzle-result-share){font-size:17px}.puzzle-result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:0;max-width:600px}.puzzle-result-stats dd{font-size:21px}.puzzle-result-stats dd small{display:block;margin:3px 0 0;font-size:10px}.puzzle-result-stats>div:first-child dd small{display:inline;margin-left:6px}}
