:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}html,body,#root{width:100%;height:100%;margin:0;padding:0}*{box-sizing:border-box}html,body,#root{color:#1f2937;overscroll-behavior:contain;-webkit-tap-highlight-color:transparent;background:#f8fafc;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.app{flex-direction:column;height:100dvh;display:flex}.topbar{color:#f8fafc;background:#1f2937;border-bottom:1px solid #0f172a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.topbar h1{margin:0;font-size:1.1rem;font-weight:600}.topbar__inline{align-items:center;gap:.5rem;margin-left:auto;display:flex}.hamburger{color:#f8fafc;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:4px;padding:.3rem .7rem;font-size:1.1rem;line-height:1;display:none}.topbar__menu{display:contents}.topbar__meta{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.modes{gap:.5rem;display:flex}.mode-select{color:#f8fafc;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:4px;min-width:160px;max-width:100%;padding:.3rem .6rem;font-size:.9rem}.mode-select:focus{outline-offset:1px;outline:2px solid #2563eb}.score{font-variant-numeric:tabular-nums;font-weight:600}.reset{color:#f8fafc;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:4px;padding:.3rem .8rem;font-size:.85rem}.reset:hover{background:#475569}.reset--stop{background:#b91c1c;border-color:#991b1b}.reset--stop:hover{background:#991b1b}.layout{flex:1;grid-template-columns:1fr 240px;min-height:0;display:grid}.map-wrap{background:#cfe9f4;position:relative;overflow:hidden}.map{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map:active{cursor:grabbing}.map__sea{fill:#cfe9f4}.map__zoomable{will-change:transform}.country{fill:#e8e4d4;stroke:#4b5563;stroke-width:.7px;stroke-linejoin:round}.country--placed{fill:#86efac}.country--fixed{fill:#d1fae5}.marker{fill:#dc2626;stroke:#fff;stroke-width:1.5px;cursor:pointer}.marker--placed{fill:#16a34a}.map--globe{cursor:grab;background:radial-gradient(circle at 30% 25%,#1e3a5f 0%,#0b1d33 60%,#050a13 100%)}.map--globe.map--dragging,.map--globe:active{cursor:grabbing}.globe__sphere{fill:#cfe9f4}.globe__outline{fill:none;stroke:#1e293b;stroke-width:1.2px;pointer-events:none}.globe__graticule{fill:none;stroke:#1e293b2e;stroke-width:.5px;pointer-events:none}.country-label{fill:#14532d;pointer-events:none;font-family:system-ui,sans-serif;font-size:2px}.app--labels-hidden .country-label{display:none}.hint{color:#475569;pointer-events:none;background:#ffffffd9;border-radius:4px;margin:0;padding:.25rem .5rem;font-size:.75rem;position:absolute;bottom:.5rem;left:.5rem}.zoom-readout{font-variant-numeric:tabular-nums;color:#475569;pointer-events:none;background:#ffffffd9;border-radius:4px;margin:0;padding:.25rem .5rem;font-size:.75rem;position:absolute;bottom:.5rem;right:.5rem}.tray{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;min-height:0;display:flex}.tray__inner{padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom,.75rem));flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow-y:auto}.help-zone{color:#92400e;-webkit-user-select:none;user-select:none;background:#fef3c7;border:2px dashed #f59e0b;border-radius:6px;flex-shrink:0;margin:.75rem .75rem 0;font-size:.85rem;display:flex;overflow:hidden}.help-zone__drag{padding:.6rem .7rem}.ghost--help{color:#1f2937;background:#f59e0b}.score--points{color:#f8fafc;background:#16a34a;border-radius:4px;padding:.2rem .6rem;font-size:.85rem}.score--points.score--negative{background:#dc2626}.score--multiplier{color:#f8fafc;background:#2563eb;border-radius:4px;padding:.2rem .6rem;font-size:.85rem}.score--multiplier.score--negative{background:#6b7280}.score--timer{color:#f8fafc;font-variant-numeric:tabular-nums;background:#475569;border-radius:4px;padding:.2rem .6rem;font-size:.85rem}.screen{background:#f1f5f9;flex:1;grid-template-columns:1fr 1fr;place-items:center;gap:2rem;min-height:0;padding:3rem;display:grid}.screen--start{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;overflow-y:auto}.start__nav{flex-direction:column;grid-area:1/1/span 2;gap:.75rem;width:100%;display:flex}.start__map{aspect-ratio:1000/760;background:#fff;border-radius:12px;width:100%;max-height:calc(100dvh - 300px);position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a14}.start__map .map{width:100%;height:100%;display:block}.start__map-loading{color:#475569;pointer-events:none;background:#ffffffb3;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.start__hint{color:#475569;text-align:center;margin:0;font-size:.9rem}.breadcrumb{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.95rem;display:flex}.breadcrumb__item{align-items:center;gap:.4rem;display:inline-flex}.breadcrumb__sep{color:#94a3b8}.breadcrumb__link{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:.15rem .4rem}.breadcrumb__link:hover{background:#e2e8f0}.breadcrumb__current{color:#0f172a;font-weight:600}.map--browse .country{cursor:pointer}.map--browse .country:hover{fill:#fef3c7}.jumpbar{flex-wrap:wrap;gap:.4rem;display:flex}.jumpbar__btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.3rem .75rem;font-family:inherit;font-size:.85rem}.jumpbar__btn:hover{color:#fff;background:#2563eb;border-color:#2563eb}.screen__panel{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;min-width:280px;max-width:400px;padding:2rem;display:flex;box-shadow:0 10px 30px #0f172a14}.screen__panel h2{margin:0;font-size:1.6rem}.screen__lead{color:#475569;margin:0}.screen__lead--muted{color:#94a3b8;font-size:.85rem}.field{color:#475569;flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.field input{border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.5rem .7rem;font-size:1rem}.field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.primary{color:#f8fafc;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.6rem 1rem;font-size:.95rem;font-weight:600}.primary:hover{background:#1d4ed8}.primary:disabled{cursor:not-allowed;background:#94a3b8}.highscores{background:#fff;border-radius:12px;width:100%;min-width:280px;max-width:400px;padding:1.5rem;box-shadow:0 10px 30px #0f172a14}.highscores h3{margin:0 0 .75rem;font-size:1.05rem}.highscores__empty{color:#94a3b8;font-style:italic}.highscores__list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.highscores__item{border-radius:4px;grid-template-columns:2rem 1fr auto auto;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.9rem;display:grid}.highscores__time{color:#64748b;font-variant-numeric:tabular-nums;font-size:.85rem}.highscores__rules{color:#475569;border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:.75rem;font-size:.8rem}.highscores__rules h4{color:#1f2937;margin:0 0 .4rem;font-size:.85rem}.highscores__rules ul{flex-direction:column;gap:.2rem;margin:0;padding-left:1.1rem;display:flex}.highscores__rules strong{color:#1f2937}.highscores__item--me{background:#dcfce7;font-weight:600}.highscores__rank{color:#94a3b8;font-variant-numeric:tabular-nums}.highscores__score{font-variant-numeric:tabular-nums;color:#16a34a;font-weight:600}.tray__done{text-align:center;color:#16a34a;padding:1rem;font-weight:600}.label{-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:stretch;min-height:2.4rem;font-size:.85rem;transition:background .12s,border-color .12s,transform 80ms;display:flex;overflow:hidden}.label:hover{background:#e2e8f0;border-color:#94a3b8}.label__drag{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.label__drag:active{cursor:grabbing}.label__text{flex:1;min-width:0}.label__scroll{display:none}.label--dragging{opacity:.35}.label--wrong{background:#fecaca;border-color:#ef4444;animation:.35s shake}.label--top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.label__bonus{color:#1f2937;background:#f59e0b;border-radius:999px;padding:.1rem .4rem;font-size:.75rem;font-weight:700}.label--offscreen{background:#dbeafe;border-color:#2563eb;animation:.6s pulse-blue}@keyframes pulse-blue{0%,to{box-shadow:0 0 #2563eb73}50%{box-shadow:0 0 0 8px #2563eb00}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ghost{color:#f8fafc;pointer-events:none;z-index:1000;white-space:nowrap;background:#1f2937;border-radius:6px;padding:.4rem .6rem;font-size:.85rem;position:fixed;transform:translate(14px,-120%);box-shadow:0 4px 12px #00000040}.ghost-dot{pointer-events:none;z-index:1001;background:#fbbf24;border:1.5px solid #000;border-radius:50%;width:5px;height:5px;position:fixed;transform:translate(-50%,-50%)}.app--dragging,.app--dragging *{cursor:none!important}.topbar__title--menu{display:none}.topbar__home{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.topbar__home:hover{text-decoration:underline}@media (width<=720px){.layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.tray{border-top:1px solid #e2e8f0;border-left:none;max-height:40dvh}.topbar__title--main{display:none}.topbar__title--menu{color:#f8fafc;margin:0;font-size:1.05rem;display:block}.hint{display:none}.screen{grid-template-columns:1fr;padding:1rem;overflow-y:auto}.screen--start{grid-template-columns:1fr}.start__nav{grid-area:auto}.hamburger{display:inline-flex}.topbar__menu{border-top:1px solid #334155;flex-direction:column;flex-basis:100%;gap:.5rem;padding-top:.5rem;display:none}.topbar--menu-open .topbar__menu{display:flex}.topbar__meta{flex-direction:column;align-items:stretch;gap:.4rem}.mode-select{min-width:100%}.reset,.reset--stop{text-align:center}.label__drag{flex:3}.label__scroll{touch-action:pan-y;color:#475569;background:#e2e8f0;border-left:2px dashed #94a3b8;flex:1;justify-content:center;align-self:stretch;align-items:center;font-size:.75rem;font-weight:600;display:flex}.label__scroll:before{content:"↕";font-size:1.1rem}.help-zone__drag{flex:3}.help-zone .label__scroll{color:#92400e;background:#fde68a;border-left-color:#f59e0b}}
