@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-latin.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/fraunces-latin.woff2)format("woff2")}:root{--paper:#f6f3eb;--card:#fffdf7;--card-blank:#faf8f2;--ink:#284967;--ink-2:#3c5570;--muted:#5b675d;--line:#dcded3;--line-strong:#c6cabb;--blue:#315f88;--gold:#e7b157;--teal:#397570;--teal-deep:#285752;--teal-wash:#e3eee8;--ochre:#c08a2e;--ochre-deep:#7f5310;--ochre-wash:#fbf1dc;--coral-deep:#a5472a;--tag-m:#315f88;--tag-f:#a5472a;--sea:#d4e5df;--graticule:#c0d7cf;--land:#efe8d6;--land-line:#fbf8f0;--target:#e0cd9c;--target-line:#8c6f30;--missed-fill:#f1d595;--serif:Fraunces, Georgia, serif;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--pad:clamp(12px, 1.3vw, 24px);--gap:clamp(6px, .65vw, 12px);--card-font:clamp(13px, .6vw + 6px, 20px);--flag-w:clamp(34px, 2.6vw, 60px);--radius:12px;--bar-h:92px;--shadow:0 8px 22px -14px #28496759;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;scrollbar-color:var(--line-strong) transparent}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:320px;min-height:100svh;margin:0}input{-webkit-user-select:text;user-select:text}button,input{font:inherit;color:inherit}button{cursor:pointer}abbr{text-decoration:none}::selection{color:var(--ink);background:#f3d9a4}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--ink);color:var(--paper);border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.icon{flex:none;width:1.25em;height:1.25em}.button{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-size:15px;font-weight:650;text-decoration:none;transition:background-color .15s,transform .1s;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{background:var(--ink);color:var(--card)}.button-primary:hover{background:var(--blue)}.button-large{min-height:52px;padding:0 26px;font-size:17px}.text-button{min-height:40px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.text-button:hover{background:#e7eadf}.text-button .icon{width:18px;height:18px}.round-button{border:1px solid var(--line);background:var(--card);width:40px;height:40px;color:var(--ink);border-radius:50%;place-items:center;padding:0;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-grid}.round-button:hover{border-color:var(--line-strong);background:#e7eadf}.round-button .icon{width:19px;height:19px}.round-button[aria-pressed=false]{color:var(--muted)}.bar{z-index:10;height:var(--bar-h);padding:12px var(--pad) 32px;background:var(--paper);grid-template-rows:48px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid;position:relative}.bar-title{font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:21px;font-weight:600;line-height:1.1}.bar-title .amp{color:#8d6516;font-weight:500}.bar-slot{justify-content:center;min-width:0;display:flex}.bar-tools{gap:8px;display:flex}.timeline{left:var(--pad);right:var(--pad);opacity:0;background:#e6e4da;border-radius:4px;height:4px;transition:opacity .3s;position:absolute;bottom:0;overflow:hidden}.timeline-fill{background:var(--teal);transform-origin:0;height:100%;transition:transform .22s linear,background-color .3s;display:block}[data-state=running] .timeline,[data-state=finished] .timeline{opacity:1}[data-state=running]:has(.clock.is-urgent) .timeline-fill{background:var(--coral-deep)}.play{grid-template-columns:auto minmax(220px,470px) auto auto;justify-content:center;align-items:center;gap:clamp(12px,1.4vw,24px);width:100%;display:grid}.clock{font-variant-numeric:tabular-nums;min-width:4.6ch;color:var(--ink);align-items:center;gap:8px;font-size:27px;font-weight:650;display:inline-flex}.clock .icon{width:22px;height:22px;color:var(--teal)}.clock.is-urgent,.clock.is-urgent .icon{color:var(--coral-deep)}.guess{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid;position:relative}.guess input{width:100%;height:48px;color:var(--ink);caret-color:var(--teal);background:#fff;border:1.5px solid #848e82;border-radius:14px;outline:none;padding:0 5.6em 0 16px;font-size:18px;font-weight:500;transition:border-color .15s,box-shadow .15s}.guess input::placeholder{color:var(--muted);font-weight:400}.guess input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #315f8829}.guess input.is-pending{border-color:var(--teal);box-shadow:0 0 0 4px #3975702e}.guess-hint{background:var(--teal-wash);color:var(--teal-deep);pointer-events:none;opacity:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:650;transition:opacity .15s;position:absolute;top:24px;right:64px;transform:translateY(-50%)}.guess:has(.is-pending) .guess-hint{opacity:1}.guess-submit{background:var(--ink);width:48px;height:48px;color:var(--card);border:0;border-radius:14px;place-items:center;display:grid}.guess-submit:hover{background:var(--blue)}.guess.is-nudged input{animation:.32s nudge}@keyframes nudge{20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}.feedback{width:max-content;max-width:min(78vw,720px);color:var(--ink-2);white-space:nowrap;margin:0;font-size:15px;line-height:1.3;transition:opacity .4s;position:absolute;top:calc(100% + 7px);left:2px}.feedback img{vertical-align:-2px;border-radius:2px;margin-right:6px;display:inline-block;box-shadow:0 0 0 1px #28496726}.feedback strong{color:var(--ink);font-weight:700}.feedback .art{color:var(--teal-deep)}.feedback.is-miss{color:var(--coral-deep)}.feedback.is-article em{color:var(--teal-deep);font-style:normal;font-weight:700}.feedback.is-article s{color:var(--coral-deep);text-decoration-thickness:1.5px}.feedback.is-fading{color:var(--muted)}.feedback-nat{margin-left:8px}.feedback-nat .tag{width:auto;margin:0 3px 0 6px;display:inline-block}.feedback-nat .tag:first-child{margin-left:0}.score{font-family:var(--serif);white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:30px;font-weight:600;line-height:1}.score-total{color:var(--muted);font-size:18px;font-weight:500}.stop-button{border:1px solid var(--line-strong);background:var(--card);height:40px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 15px 0 12px;font-size:14px;font-weight:650;transition:background-color .15s,border-color .15s;display:inline-flex}.stop-button:hover{background:#e7eadf}.stop-button .icon{width:16px;height:16px;color:var(--coral-deep)}.stop-short{display:none}.result{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 22px;display:flex}.result-score{font-family:var(--serif);margin:0;font-size:36px;font-weight:600;line-height:1}.result-score span{color:var(--muted);font-size:20px;font-weight:500}.result-text{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.result-title{font-family:var(--sans);color:var(--ink);outline-offset:4px;margin:0;font-size:16px;font-weight:700}.result-note{color:var(--ink-2);margin:0;font-size:15px}.result-actions{align-items:center;gap:6px;display:flex}.board{outline:none}.board-map{min-width:0;position:relative}.flags{gap:var(--gap);margin:0;padding:0;list-style:none;display:grid}.card{border-radius:var(--radius);background:var(--card-blank);border:1px solid #e4e2d7;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(8px,.8vw,14px);min-width:0;padding:8px clamp(8px,.9vw,14px);transition:background-color .3s,border-color .3s,box-shadow .3s;display:grid;position:relative}.card-flag{width:var(--flag-w);aspect-ratio:4/3;border-radius:3px;height:auto;display:block;box-shadow:0 0 0 1px #28496724,0 2px 5px -2px #2849674d}.card-text{min-width:0;font-size:var(--card-font);gap:3px;line-height:1.2;display:grid}.card-country{white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:none;overflow:hidden}.card-nat{white-space:nowrap;align-items:baseline;gap:.4em;min-width:0;display:flex}.word{text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.word:empty:after,.card-country:empty:after{content:"";border-bottom:1.5px dashed #7d867a;width:5.4em;max-width:100%;height:.85em;display:inline-block}.tag{letter-spacing:.02em;flex:none;width:1.5em;font-size:.82em;font-weight:700}.tag-m{color:var(--tag-m)}.tag-f{color:var(--tag-f)}.tag-mf{color:var(--teal-deep);width:auto}.ending{color:var(--tag-f);font-weight:800}.art{font-weight:500}.card.is-found{background:var(--card);box-shadow:var(--shadow);border-color:#b7d0c6}.card.is-missed{background:var(--ochre-wash);border-color:#ecd29b}.card.is-missed .card-country{color:var(--ochre-deep);font-weight:600}.card.is-latest{animation:1.1s cubic-bezier(.2,.7,.3,1) card-found}@keyframes card-found{0%{border-color:var(--teal);background:#cfe5dc}to{background:var(--card)}}.card:hover{border-color:var(--line-strong)}.card.is-pointing{border-color:var(--coral-deep);box-shadow:0 0 0 1px var(--coral-deep)}.card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}[data-state=finished] .card{cursor:pointer}.map{margin:0;container:map/inline-size}.map-frame{position:relative}.world{aspect-ratio:var(--ratio);position:relative}.map-svg{clip-path:inset(0 round 14px);width:100%;height:100%;display:block}.sea{fill:var(--sea)}.graticule{fill:none;stroke:var(--graticule);stroke-width:.7px;vector-effect:non-scaling-stroke}.land{fill:var(--land)}.borders{fill:none;stroke:var(--land-line);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.country{fill:var(--target);stroke:var(--target-line);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .5s,stroke .5s}.country.is-found{fill:var(--teal);stroke:var(--teal-deep)}.country.is-missed{fill:var(--missed-fill);stroke:var(--ochre-deep)}.country.is-pointed{fill:#d1b46f;stroke:var(--coral-deep);stroke-width:1.6px}.country.is-found.is-pointed{fill:var(--teal-deep)}.europe-frame{fill:none;stroke:var(--ink);stroke-opacity:.45;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.leader line{stroke:var(--ink);stroke-opacity:.75;stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.leader circle{fill:var(--ink);fill-opacity:.85}.leader.is-found line{stroke-opacity:.75;stroke-dasharray:none}.leader.is-found circle{fill:var(--teal-deep);fill-opacity:1}.leader.is-missed line{stroke:var(--ochre-deep);stroke-opacity:.9;stroke-dasharray:none}.leader.is-missed circle{fill:var(--ochre-deep);fill-opacity:1}.leader.is-pointed line{stroke:var(--coral-deep);stroke-opacity:1}.ripple{fill:none;stroke:var(--teal);stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:.9s cubic-bezier(.2,.7,.3,1) forwards ripple}@keyframes ripple{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}.labels{pointer-events:none;position:absolute;inset:0}.label{left:var(--lx);top:var(--ly);font-size:clamp(10.5px,1.42cqw,20px);line-height:1;position:absolute;transform:translate(-50%,-50%)}.inset .label{font-size:clamp(9.5px,1.25cqw,18px)}.label[data-align=l]{transform:translateY(-50%)}.label[data-align=r]{transform:translate(-100%,-50%)}.label-text{white-space:nowrap;letter-spacing:-.005em;border-radius:999px;padding:.28em .6em .3em;font-weight:650;display:block}.label.is-blank .label-text{background:#fffdf7c7;border:1px dashed #6f7b71;width:2.8em;height:1.58em}.label.is-found .label-text{background:var(--ink);color:var(--card);box-shadow:0 3px 8px -3px #172c408c}.label.is-found .art{color:var(--gold)}.label.is-missed .label-text{color:var(--ochre-deep);background:#fffaf0;border:1px solid #dfbd78}.label.is-pointed .label-text{outline:2px solid var(--coral-deep);outline-offset:1px}.label.is-blank.is-pointed .label-text{border-color:var(--coral-deep);background:#fff}.label.is-latest .label-text{animation:.45s cubic-bezier(.16,1,.3,1) label-in}@keyframes label-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.inset{left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ratio);background:var(--sea);border-radius:10px;position:absolute;box-shadow:0 0 0 1px #28496759,0 10px 24px -12px #2849678c}.inset .map-svg{clip-path:inset(0 round 10px)}.inset-title{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:#fffdf7e6;border-radius:6px;padding:2px 7px;font-size:clamp(9px,.95cqw,13px);font-weight:700;position:absolute;top:6px;right:6px}@container map (width<=620px){.inset{width:100%;margin-top:10px;position:relative;top:auto;left:auto}.inset-title{font-size:11px}.world .label{display:none}.world .label.is-latest{left:clamp(3.5em, var(--ax), calc(100% - 3.5em));top:var(--ay);display:block;transform:translate(-50%,calc(-100% - 4px))}.world .leader{display:none}.label,.inset .label{font-size:11.5px}[data-state=finished] .world .label.is-missed{display:none}}.start{background:var(--card);border:1px solid var(--line);border-radius:20px;max-width:34rem;padding:clamp(20px,2.2vw,32px);box-shadow:0 24px 60px -28px #2849678c}.start h2{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;margin:0 0 10px;font-size:clamp(26px,2.3vw,36px);font-weight:600;line-height:1.1}.start-lead{max-width:62ch;color:var(--ink-2);margin:0 0 16px;font-size:15.5px;line-height:1.55}.start-example{background:#f3f1e8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 20px;padding:10px 12px;font-size:14px;display:flex}.start-example .icon{width:18px;height:18px;color:var(--muted)}.example-typed{border:1.5px solid var(--line-strong);background:#fff;border-radius:7px;padding:3px 9px;font-weight:600}.example-label{background:var(--ink);color:var(--card);border-radius:999px;padding:4px 10px;font-weight:650}.example-label .art{color:var(--gold)}.example-nat{align-items:baseline;gap:5px;font-weight:600;display:inline-flex}.example-nat .tag{width:auto;margin-left:4px}.start-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.start-best{color:var(--muted);margin:14px 0 0;font-size:14px}.start-best strong{color:var(--ink)}.durations{border:0;align-items:center;gap:10px;margin:0;padding:0;display:flex}.durations legend{float:left;color:var(--ink-2);margin-right:10px;padding:0;font-size:14px;font-weight:600}.segments{background:#ebe9df;border-radius:999px;padding:3px;display:inline-flex}.segment{position:relative}.segment input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segment span{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:650;transition:background-color .15s,color .15s;display:block}.segment input:checked+span{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #28496738}.segment input:focus-visible+span{outline:3px solid var(--blue);outline-offset:1px}.segment:hover span{color:var(--ink)}dialog{background:var(--card);width:min(92vw,520px);color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 28px 70px -20px #172c4080}dialog::backdrop{background:#28496766}.sheet{padding:22px 24px 20px}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.rules{color:var(--ink-2);margin:14px 0 0;padding-left:1.25rem;font-size:15px;line-height:1.55}.rules li{margin-bottom:10px;padding-left:4px}.rules strong{color:var(--ink)}.sheet-foot{justify-content:flex-end;margin-top:8px;display:flex}@media (width>=1080px) and (height>=600px){.game{container-type:inline-size}.board{--map-h:calc(((100cqw - 2 * var(--pad) - 5 * var(--gap)) * 4 / 6 + 3 * var(--gap)) * 453 / 1000);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto minmax(0, var(--map-h)) auto;align-content:center;gap:var(--gap);height:calc(100dvh - var(--bar-h));padding:var(--gap) var(--pad) var(--pad);grid-template-areas:"top top top top top top""left map map map map right""bottom bottom bottom bottom bottom bottom";display:grid;position:relative}.flags-top{grid-area:top;grid-template-columns:repeat(6,minmax(0,1fr))}.flags-bottom{grid-area:bottom;grid-template-columns:repeat(6,minmax(0,1fr))}.flags-left{grid-area:left;grid-template-rows:repeat(6,minmax(0,1fr))}.flags-right{grid-area:right;grid-template-rows:repeat(6,minmax(0,1fr))}:root{--flag-w:clamp(30px, 2.6vw, 60px)}.card{gap:clamp(6px,.8vw - 2px,14px);padding-inline:clamp(7px,.9vw - 1px,14px);container-type:inline-size}.card-text{font-size:clamp(13px,6.4cqi,22px)}.board-map{grid-area:map;place-items:center;display:grid;position:static;container-type:size}.map{width:min(100cqw,220.751cqh)}.start-slot{z-index:3;pointer-events:none;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.start-slot:empty{display:none}.start{pointer-events:auto;max-height:100%;overflow:auto}[data-state=ready] .map{opacity:.72;filter:saturate(.85)}}@media not all and (width>=1080px) and (height>=600px){:root{--card-font:14px;--flag-w:40px}.bar{height:auto;padding:10px var(--pad) 14px;grid-template:"back title tools""slot slot slot"/auto minmax(0,1fr) auto;gap:10px 12px}.bar-back{grid-area:back}.bar-title{grid-area:title;font-size:19px}.bar-tools{grid-area:tools}.bar-slot{grid-area:slot;justify-content:flex-start}.bar-slot:empty{display:none}[data-state=running] .bar{grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"back clock score stop tools""guess guess guess guess guess";gap:8px 10px;position:sticky;top:0;box-shadow:0 10px 18px -16px #28496780}[data-state=running] .bar-slot,[data-state=running] .play{display:contents}[data-state=running] .bar-title{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.clock{grid-area:clock;font-size:22px}.score{grid-area:score;justify-self:end;font-size:24px}.score-total{font-size:15px}.stop-button{grid-area:stop}.guess{grid-area:guess;row-gap:6px}.guess input{height:46px;font-size:17px}.guess-submit{width:46px;height:46px}.guess-hint{top:23px;right:60px}.feedback{white-space:normal;grid-column:1/-1;width:auto;max-width:none;min-height:1.3em;font-size:14px;position:static}.result{justify-content:flex-start;gap:8px 16px}.result-actions{flex-wrap:wrap}.board{padding:6px var(--pad) 28px;flex-direction:column;gap:14px;display:flex}.board-map{flex-direction:column;gap:14px;display:flex}.start-slot{order:-1}.start-slot:empty{display:none}.start{max-width:none;box-shadow:var(--shadow)}.flags{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:8px 10px}.card-country{display:block}}@media (width<=640px){:root{--card-font:13.5px;--flag-w:34px}.flags{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card{gap:8px;padding:8px}.start h2{font-size:25px}.start-lead{font-size:15px}.start-actions{flex-direction:column;align-items:stretch}.durations{justify-content:space-between}.start .button-large{width:100%}.result{flex-direction:column;align-items:stretch;width:100%}.result-score{font-size:30px}.result-actions{flex-direction:column;align-items:stretch;width:100%}.result-actions .button,.result-actions .text-button{justify-content:center;width:100%}.stop-button{padding:0 12px 0 10px}.stop-long{display:none}.stop-short{display:inline}}@media (width<=480px){[data-state=running] [data-action=rules],.clock .icon{display:none}}@media (width<=380px){:root{--flag-w:30px;--card-font:13px}.card{gap:6px;padding:8px 7px}.bar-title{font-size:17px}.round-button{width:36px;height:36px}.segment span{padding:8px 11px}.guess input:not(.is-pending){padding-right:16px}}@media (width<=359.98px){.flags{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
