.ns-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ns-clues{margin:0;padding:0;list-style:none}.ns-clue{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;margin-bottom:8px;padding:12px;display:flex}.ns-clue p{margin:0}.ns-clue.hit{border-color:var(--correct);box-shadow:inset 4px 0 0 var(--correct)}.ns-clue.unused{opacity:.6}.ns-clue-body .ns-clue-guess{color:var(--muted);margin-top:6px;font-size:.9rem}.ns-points{background:var(--accent);min-width:40px;height:28px;color:var(--accent-text);border-radius:999px;flex:none;place-items:center;padding:0 8px;font-size:.9rem;font-weight:700;display:grid}.ns-paused{z-index:50;padding:var(--gutter);background:#0009;place-items:center;display:grid;position:fixed;inset:0}.ns-paused .card{text-align:center;width:min(360px,100%)}.ns-paused h2{margin:0 0 4px}.ns-paused .btn{width:100%;margin-top:8px}.ns-result{text-align:center;margin-top:12px}.ns-result h2{margin:4px 0}.ns-kicker{color:var(--accent);margin:0;font-weight:600}.ns-score{margin:4px 0 12px;font-size:1.25rem}.ns-hidden-city{color:var(--muted)}.ns-tiles{grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.ns-tile{border:1px solid var(--border);color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;transition:border-color .3s,background-color .3s;display:flex}.ns-tile.shown{color:var(--text);animation:.35s cubic-bezier(.3,1.6,.6,1) pop}.ns-tile.city{background:#3a9a5b1f;border-color:#3a9a5b}.ns-tile.close{background:#d9a51f1f;border-color:#d9a51f}.ns-tile.warm{background:#e07b241f;border-color:#e07b24}.ns-tile.cold{background:#c0392b1a;border-color:#c0392b}.ns-tile.freezing{border-color:var(--muted)}.ns-tile.skipped{border-style:dashed}.ns-tile-clue{color:var(--muted);white-space:nowrap;font-size:.7rem}.ns-tile-emoji{font-size:1.2rem;line-height:1.3}.ns-tile-points{font-size:.9rem;font-weight:700}.ns-dist-title{color:var(--muted);margin:0 0 4px;font-size:.8rem}.ns-score strong{font-size:2.5rem}.ns-stats{grid-template-columns:repeat(4,1fr);margin:0 0 16px;display:grid}.ns-stats dt{color:var(--muted);font-size:.75rem}.ns-stats dd{margin:0;font-size:1.4rem;font-weight:700}.ns-dist{text-align:left;margin-bottom:16px}.ns-dist-row{align-items:center;gap:8px;margin:3px 0;font-size:.85rem;display:flex}.ns-dist-row>span:first-child{text-align:right;width:1.5em}.ns-bar{background:var(--wrong);text-align:right;border-radius:4px;min-width:1.5em;padding:0 6px}.ns-bar.mine{background:var(--correct);color:#fff}.ns-share{width:100%}.review{max-width:820px}.review-item{margin-bottom:20px}.review-item h2{margin:0 0 4px;font-size:1.2rem}.review-clue{grid-template-columns:1fr 200px;gap:12px;width:100%;display:grid}.review-city{align-items:center;gap:12px;margin-bottom:12px;display:flex}.review-shape{background:var(--map-sea);border-radius:8px;flex:none;width:160px;height:160px}.review-shape-limit{fill:none;stroke:var(--muted);stroke-width:.3px;stroke-dasharray:1 1}.review-shape-city{fill:#b3261e40;stroke:var(--loco-red);stroke-width:.4px}.review-shape-centre{fill:var(--loco-red)}@media (width<=560px){.review-clue{grid-template-columns:1fr}}.ns-archive-bar{color:var(--muted);margin:0 0 12px;font-size:.9rem}.ns-archive-bar a,.ns-more+p a{color:var(--accent)}.ns-more{flex-direction:column;gap:8px;margin-top:8px;display:flex}.ns-more .btn{justify-content:center;align-items:center;text-decoration:none;display:flex}.ns-archive{margin:16px 0;padding:0;list-style:none}.ns-archive li+li{margin-top:8px}.ns-archive-item{align-items:center;gap:12px;min-height:56px;display:flex}.ns-archive-no{color:var(--muted);min-width:2.5em;font-weight:700}.ns-archive-city{flex:1;font-weight:600}.ns-archive-item:not(.done) .ns-archive-city{color:var(--muted);font-style:italic;font-weight:400}.ns-archive-status{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:4px 12px;font-weight:700}.ns-archive-status.done{color:var(--correct);background:0 0}html:has(dialog.howto[open]){overflow:hidden}html:has(dialog.howto[open]) body{overflow:hidden}.howto{overscroll-behavior:contain;border-radius:var(--radius);background:var(--surface);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border:0;padding:0;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.howto::backdrop{background:#0000008c}.howto-body{padding:24px 20px 20px}.howto h2{margin:0 0 4px}.howto-steps{margin:16px 0 20px;padding-left:1.2em}.howto-steps li+li{margin-top:12px}.howto-close{width:100%}.faq{margin-top:40px}.faq h2{margin-bottom:4px;font-size:1.1rem}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:16px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)}.faq details[open] summary:after{transform:rotate(-135deg)}.faq details p{color:var(--muted);margin:0 0 16px}.faq details a{color:var(--accent)}.tp{height:34px;margin:0 18px 12px;position:relative}.tp-rail{background:repeating-linear-gradient(90deg, var(--muted) 0 6px, transparent 6px 10px);border-bottom:2px solid var(--muted);opacity:.6;height:4px;position:absolute;bottom:6px;left:-6px;right:-6px}.tp-station{background:var(--surface);border:2px solid var(--border);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:2px}.tp-station.passed{background:var(--muted);border-color:var(--muted)}.tp-station.here{border-color:var(--accent)}.tp-station.city{background:#3a9a5b;border-color:#3a9a5b}.tp-station.close{background:#d9a51f;border-color:#d9a51f}.tp-station.warm{background:#e07b24;border-color:#e07b24}.tp-station.cold{background:#c0392b;border-color:#c0392b}.tp-station.freezing{background:#3b3f45;border-color:#3b3f45}.tp-train{width:44px;margin-left:-22px;transition:left .3s linear;position:absolute;bottom:6px}.tp-train .loco{transform:scaleX(-1)}.loco{width:100%;display:block;overflow:visible}.loco-dark{fill:var(--loco-body)}.loco-darker{fill:#000;opacity:.85}.loco-red{fill:var(--loco-red)}.loco-brass{fill:#c9962b}.loco-lamp{fill:#ffd54a;stroke:var(--loco-body);stroke-width:1.5px}.loco-window{fill:#fbe9b5}.loco-wheel{fill:var(--loco-body);stroke:#c9962b;stroke-width:2.5px}.loco-rod{stroke:#c9c9c9;stroke-width:3px;stroke-linecap:round}.loco-smoke circle{fill:#fff;stroke:#9aa0a6;stroke-width:1px;opacity:0;animation:2.4s ease-out infinite puff}.loco-smoke circle:nth-child(2){animation-delay:.8s}.loco-smoke circle:nth-child(3){animation-delay:1.6s}@keyframes puff{0%{opacity:0;transform:translateY(8px)scale(.4)}20%{opacity:.9}to{opacity:0;transform:translate(10px,-14px)scale(1.6)}}.wm{isolation:isolate;height:min(58vh,520px);min-height:300px;margin:0 calc(-1 * var(--gutter)) 12px;background:var(--map-sea);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:relative;overflow:hidden}.wm:active{cursor:grabbing}@media (width>=600px){.wm{border-radius:var(--radius);border:1px solid var(--border);margin:0 0 12px}}.wm-train{pointer-events:none;filter:drop-shadow(0 3px 3px #0000004d);width:66px;position:absolute;top:50%;left:50%;transform:translateY(-92.5%)}.wm-nose{border:2px solid var(--loco-red);pointer-events:none;background:#fff9;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}.wm-hint{color:#fff;text-align:center;pointer-events:none;background:#000000a6;border-radius:999px;width:max-content;max-width:calc(100% - 100px);margin:0;padding:6px 12px;font-size:.85rem;position:absolute;top:12px;left:50%;transform:translate(-50%)}.wm-feedback{border-radius:var(--radius);background:var(--surface);pointer-events:none;max-width:calc(100% - 80px);padding:6px 12px;font-size:.9rem;position:absolute;top:12px;left:12px;box-shadow:0 2px 10px #0003}.wm-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}.wm-zoom button{background:var(--surface);width:44px;height:44px;color:var(--text);border:0;border-radius:10px;font-size:1.4rem;font-weight:700;box-shadow:0 2px 8px #0003}.wm-depart{min-width:200px;font-size:1.05rem;position:absolute;bottom:36px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.wm-canvas{width:100%;height:100%;inset:0;position:absolute!important}.wm-train,.wm-nose,.wm-hint,.wm-feedback,.wm-zoom,.wm-depart{z-index:2}.wm-error{background:var(--loco-red);top:45%}.wm-guess{color:#fff;pointer-events:none;border:2px solid #fff;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:.75rem;font-weight:700;line-height:1;display:grid;box-shadow:0 1px 4px #00000059}.wm-guess.close{color:#1c1f22}.wm-guess.city{background:#3a9a5b}.wm-guess.close{background:#d9a51f}.wm-guess.warm{background:#e07b24}.wm-guess.cold{background:#c0392b}.wm-guess.freezing{background:#3b3f45}.wm-ride{pointer-events:none;width:52px}.wm-ride.right .loco{transform:scaleX(-1)}.wm-city{pointer-events:none;flex-direction:column;align-items:center;display:flex}.wm-city:after{content:"";background:var(--loco-red);border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin-top:4px;box-shadow:0 0 0 6px #b3261e40}.wm-city-label{background:var(--loco-red);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 10px;font-weight:700;animation:.4s cubic-bezier(.3,1.6,.6,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.3)}}.wm .maplibregl-ctrl-attrib{font-size:10px}[data-theme=dark] .wm .maplibregl-ctrl-attrib,[data-theme=dark] .wm .maplibregl-ctrl-attrib.maplibregl-compact,[data-theme=dark] .wm .maplibregl-ctrl-attrib-button{color:var(--muted);background-color:#1c1f22d9}[data-theme=dark] .wm .maplibregl-ctrl-attrib a{color:var(--muted)}.ns-clue{flex-wrap:wrap}.ns-clue-body{flex:1;min-width:0}.ns-clue-flag{border-radius:4px;align-self:center;width:64px;height:auto;box-shadow:0 1px 4px #00000040}.ns-drop-feedback.city strong{color:var(--correct)}.ns-drop-feedback.close strong{color:#b8860b}.ns-drop-feedback.warm strong{color:#d0661a}.ns-drop-feedback.cold strong,.ns-drop-feedback.freezing strong{color:#c0392b}.ns-closest{margin:-8px 0 16px}.howto-loco{width:90px;margin:0 auto 8px}@media (prefers-reduced-motion:reduce){.loco-smoke circle,.wm-city-label,.ns-tile.shown{animation:none}.tp-train,.ns-timer-bar{transition:none}}.prose .howto-cta{color:var(--accent-text);justify-content:center;margin-top:20px;text-decoration:none;display:flex}
