*{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}.visually-hidden{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{color:#fff;z-index:10000;background:#667eea;border-radius:8px;padding:12px 24px;font-weight:600;text-decoration:none;transition:top .3s;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.skip-link:focus{outline-offset:2px;outline:3px solid #fff;top:10px}body.dark-theme .skip-link{color:#1a1a2e;background:#8ab4f8}body{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%) fixed;flex-direction:column;align-items:center;min-height:100vh;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,Noto Sans SC,Noto Sans TC,Noto Sans JP,Noto Sans Arabic,Noto Sans Devanagari,Noto Sans Bengali,sans-serif;transition:background .3s;display:flex;overflow-y:auto}.main-content{contain:layout style;justify-content:center;align-items:flex-start;gap:20px;width:100%;max-width:1400px;display:flex}body.practice-mode{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%) fixed}body.practice-mode h1,body.practice-mode #guess-count,body.practice-mode #game-status{color:#ce93d8}body.practice-mode .view-results-btn{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%);box-shadow:0 2px 8px #8e24aa4d}body.practice-mode .view-results-btn:hover{box-shadow:0 4px 12px #8e24aa66}body.practice-mode .toggle-slider{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%)}body.dark-theme{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%) fixed}body.dark-theme.practice-mode{background:linear-gradient(135deg,#2d1b4e 0%,#1a0f3a 100%) fixed}body.dark-theme.practice-mode h1,body.dark-theme.practice-mode #guess-count,body.dark-theme.practice-mode #game-status{color:#ce93d8}body.dark-theme.practice-mode .view-results-btn{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%);box-shadow:0 2px 8px #8e24aa4d}body.dark-theme.practice-mode .view-results-btn:hover{box-shadow:0 4px 12px #8e24aa66}body.dark-theme.practice-mode .toggle-slider{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%)}body.dark-theme .container{color:#e0e0e0;background:#2d2d44}body.dark-theme h1{color:#8ab4f8}body.dark-theme .subtitle{color:#b0b0b0}body.dark-theme .game-info-section{background:#1e1e2e}body.dark-theme .game-info{background:#1e1e2e;border-bottom-color:#2d2d44}body.dark-theme .label{color:#b0b0b0}body.dark-theme #guess-count,body.dark-theme #game-status{color:#8ab4f8}body.dark-theme .info-item.warning #guess-count{color:#fbbf24}body.dark-theme .info-item.danger #guess-count{color:#f87171}body.dark-theme #country-input{color:#e0e0e0;background:#1e1e2e;border-color:#8ab4f8}body.dark-theme #country-input::placeholder{color:#707070}body.dark-theme .suggestions{color:#e0e0e0;background:#2d2d44;border-color:#8ab4f8}body.dark-theme .suggestion-item:hover,body.dark-theme .suggestion-item.selected{background:#3d3d54}body.dark-theme .suggestion-item.selected{outline-color:#8ab4f8}body.dark-theme .legend{background:#1e1e2e}body.dark-theme .legend h2{color:#e0e0e0}body.dark-theme .controls-container{background:#2d2d44f2}body.dark-theme .control-label{color:#e0e0e0}body.dark-theme .toggle-label{background:#1e1e2e}body.dark-theme .toggle-option{color:#b0b0b0}body.dark-theme .modal{background:#000000d9}body.dark-theme .modal-content{color:#e0e0e0;background:#2d2d44}body.dark-theme .modal-content h2{color:#8ab4f8}body.dark-theme .modal-content p{color:#e0e0e0}body.dark-theme #win-country{color:#8ab4f8}body.dark-theme .modal-hint{color:#707070}body.dark-theme .statistics-section{background:#1e1e2e}body.dark-theme .statistics-section h3,body.dark-theme .stat-value{color:#8ab4f8}body.dark-theme .stat-label{color:#b0b0b0}body.dark-theme .guess-distribution h4{color:#e0e0e0}body.dark-theme .distribution-label{color:#b0b0b0}body.dark-theme .distribution-bar-container{background:#1e1e2e}body.dark-theme .btn-secondary{color:#e0e0e0;background:#3d3d54}body.dark-theme .btn-secondary:hover{background:#4d4d64}#globe-container{touch-action:none;contain:layout style;background:#0003;border-radius:20px;flex-shrink:0;width:700px;height:700px;transition:background .3s;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}#globe-container.practice-mode{background:#8e24aa40}#reset-view-btn{cursor:pointer;z-index:1000;color:#fff;background:#667eeae6;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:12px;font-size:1.5em;transition:all .3s;display:flex;position:absolute;bottom:20px;right:20px}#reset-view-btn:hover{background:#764ba2e6;transform:translateY(-2px)rotate(180deg)}.test-mode-btn{color:#fff;cursor:pointer;z-index:1000;background:#f0f;border:none;border-radius:8px;padding:10px 20px;font-size:1em;font-weight:500;transition:all .3s;position:fixed;top:20px;right:20px;box-shadow:0 2px 8px #ff00ff4d}.test-mode-btn:hover{background:#c0c;transform:translateY(-2px);box-shadow:0 4px 12px #f0f6}.container{touch-action:pan-y;-webkit-overflow-scrolling:touch;contain:layout style;background:#fff;border-radius:20px;flex:1;min-width:320px;max-width:500px;min-height:700px;padding:30px;overflow:visible;box-shadow:0 20px 60px #0000004d}header{text-align:center;margin-bottom:30px}h1{color:#667eea;margin-bottom:10px;font-size:3em}.subtitle{color:#666;font-size:1.1em}.dataset-nav{justify-content:center;gap:8px;margin:15px 0;display:flex}.dataset-tab{color:#4f46e5;cursor:pointer;background:0 0;border:2px solid #4f46e5;border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font-size:.9em;font-weight:500;line-height:1.3;transition:all .2s;display:inline-flex;position:relative}.dataset-tab:hover:not(.active):not(:disabled){background:#4f46e51a}.dataset-tab.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000}.dataset-tab:disabled{opacity:.6;cursor:not-allowed}.coming-soon-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#ff9800;border-radius:10px;padding:2px 6px;font-size:.65em;font-weight:600}.dataset-tab.active .coming-soon-badge{background:#ffffff4d}body.dark-theme .dataset-tab{color:#8ab4f8;border-color:#8ab4f8}body.dark-theme .dataset-tab:hover:not(.active):not(:disabled){background:#8ab4f81a}body.dark-theme .dataset-tab.active{color:#fff;background:linear-gradient(135deg,#3d5a9e 0%,#5a3d8e 100%);border-color:#0000}body.practice-mode .dataset-tab{color:#9c27b0;border-color:#9c27b0}body.practice-mode .dataset-tab.active{color:#fff;background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%);border-color:#0000}body.dark-theme.practice-mode .dataset-tab{color:#ce93d8;border-color:#ce93d8}body.dark-theme.practice-mode .dataset-tab.active{background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%)}.game-info-section{background:#f5f5f5;border-radius:10px;margin-bottom:20px;overflow:hidden}.game-info{background:#f5f5f5;border-bottom:2px solid #e0e0e0;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:15px;padding:15px;display:flex}.info-item{flex-direction:column;align-items:center;display:flex}.view-results-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:10px 20px;font-size:1em;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #667eea4d}.view-results-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.view-results-btn.hidden{display:none}.label{color:#666;margin-bottom:5px;font-size:.9em}#guess-count,#game-status{color:#667eea;font-size:1.5em;font-weight:700}.info-item.warning #guess-count{color:#f59e0b}.info-item.danger #guess-count{color:#ef4444;animation:1s ease-in-out infinite pulse-danger}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.6}}.search-container{margin-bottom:20px;position:relative}#country-input{border:2px solid #667eea;border-radius:10px;outline:none;width:100%;padding:15px;font-size:1.1em;transition:all .3s}#country-input:focus{border-color:#764ba2;box-shadow:0 0 10px #667eea4d}#country-input:focus-visible{outline-offset:2px;outline:3px solid #764ba259}.suggestions{z-index:100;background:#fff;border:2px solid #667eea;border-top:none;border-radius:0 0 10px 10px;max-height:200px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestions.active{display:block}.search-container:focus-within .suggestions.active{border-color:#764ba2;box-shadow:0 10px 24px #667eea2e}.suggestion-item{cursor:pointer;padding:12px 15px;transition:background .2s}.suggestion-item:hover,.suggestion-item.selected,.suggestion-item[aria-selected=true]{background:#f0f0f0}.suggestion-item.selected,.suggestion-item[aria-selected=true]{outline-offset:-2px;outline:2px solid #667eea}.legend{background:#f5f5f5;padding:15px}.legend h2{color:#333;margin-bottom:10px;font-size:1em}.legend-items{flex-direction:column;gap:8px;display:flex}.legend-item{align-items:center;gap:10px;font-size:.9em;display:flex}.color-box{border:1px solid #ddd;border-radius:4px;width:30px;height:20px}.guesses-list{flex-direction:column;gap:10px;min-height:0;margin-bottom:20px;display:flex}.controls-container{z-index:100;background:#fffffff2;border-radius:12px;flex-direction:column;gap:15px;margin-top:20px;padding:15px;display:flex;box-shadow:0 4px 12px #00000026}.control-group{justify-content:space-between;align-items:center;gap:15px;display:flex}.control-label{color:#333;font-size:.95em;font-weight:500}.toggle-switch{position:relative}.toggle-input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;margin:0;position:absolute}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;background:#e0e0e0;border-radius:20px;align-items:center;padding:4px;transition:background .3s;display:flex;position:relative}.toggle-option{z-index:1;color:#333;text-align:center;white-space:nowrap;border-radius:16px;flex:1;justify-content:center;align-items:center;min-width:0;padding:8px 0;font-size:.85em;font-weight:500;line-height:1;transition:color .3s;display:flex}.toggle-slider{z-index:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;transition:transform .3s;position:absolute;box-shadow:0 2px 4px #0003}.toggle-input:not(:checked)~.toggle-label .toggle-option[data-value=km],.toggle-input:not(:checked)~.toggle-label .toggle-option[data-value=distance],.toggle-input:checked~.toggle-label .toggle-option[data-value=mi],.toggle-input:checked~.toggle-label .toggle-option[data-value=guess]{color:#fff}#units-toggle~.toggle-label{width:130px}#units-toggle~.toggle-label .toggle-slider{width:calc(50% - 4px);height:calc(100% - 8px);top:4px;left:4px;transform:translate(0)}#units-toggle:checked~.toggle-label .toggle-slider{transform:translate(100%)}#sort-toggle~.toggle-label{width:240px}#sort-toggle~.toggle-label .toggle-slider{width:calc(50% - 4px);height:calc(100% - 8px);top:4px;left:4px;transform:translate(0)}#sort-toggle:checked~.toggle-label .toggle-slider{transform:translate(100%)}#theme-toggle~.toggle-label{width:170px}#theme-toggle~.toggle-label .toggle-slider{width:calc(50% - 4px);height:calc(100% - 8px);top:4px;left:4px;transform:translate(0)}#theme-toggle:checked~.toggle-label .toggle-slider{transform:translate(100%)}#theme-toggle:not(:checked)~.toggle-label .toggle-option[data-value=light],#theme-toggle:checked~.toggle-label .toggle-option[data-value=dark]{color:#fff}.colorblind-select,.language-select{color:#333;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:8px;min-width:180px;padding:8px 12px;font-size:.9em;font-weight:500;transition:all .3s}.colorblind-select:hover,.language-select:hover{border-color:#764ba2}.colorblind-select:focus,.language-select:focus{border-color:#764ba2;outline:none;box-shadow:0 0 0 3px #667eea4d}body.dark-theme .colorblind-select,body.dark-theme .language-select{color:#e0e0e0;background:#1e1e2e;border-color:#8ab4f8}body.dark-theme .colorblind-select:hover,body.dark-theme .language-select:hover{border-color:#a0c4ff}body.dark-theme .colorblind-select:focus,body.dark-theme .language-select:focus{box-shadow:0 0 0 3px #8ab4f84d}body.dark-theme .colorblind-select option,body.dark-theme .language-select option{color:#e0e0e0;background:#1e1e2e}body.dark-theme .colorblind-select optgroup{color:#a0a0a0;background:#1e1e2e}.practice-mode-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8e24aa 0%,#6a1b9a 100%);border:none;border-radius:10px;width:100%;margin-top:10px;padding:12px 20px;font-size:1em;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #8e24aa4d}.practice-mode-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8e24aa66}.practice-mode-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 2px 8px #667eea4d}.practice-mode-btn.active:hover{box-shadow:0 4px 12px #667eea66}.guess-item{color:#1a1a1a;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:15px;font-weight:700;transition:transform .2s,box-shadow .2s;animation:.3s ease-out slideIn;display:flex}.guess-item.light-text{color:#fff;text-shadow:0 1px 2px #00000080}.guess-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.guess-item:active{transform:translateY(0)}.guess-item:focus,.guess-item:focus-visible{outline-offset:2px;outline:3px solid #4f46e5}body.dark-theme .guess-item:focus,body.dark-theme .guess-item:focus-visible{outline-color:#8ab4f8}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.guess-country{align-items:center;gap:8px;font-size:1.1em;display:flex}.flag-container{flex-shrink:0;align-items:center;display:inline-flex}.country-flag{vertical-align:middle;border-radius:2px;display:inline-block;box-shadow:0 1px 2px #0003}.flag-emoji{font-size:1.1em;line-height:1}.guess-distance{font-size:.9em}.modal{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-content{text-align:center;background:#fff;border-radius:20px;max-width:500px;max-height:90vh;padding:40px;animation:.3s ease-out modalAppear;overflow-y:auto}@keyframes modalAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.modal-content h2{color:#667eea;margin-bottom:20px;font-size:2em}.modal-content p{color:#333;margin:10px 0;font-size:1.1em}#win-country{color:#667eea;font-size:1.3em}.modal-buttons{justify-content:center;gap:12px;margin-top:20px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-size:1.1em;font-weight:500;transition:all .3s}.btn-primary{color:#fff;background:#5266d4}.btn-primary:hover{background:#764ba2;transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.btn-secondary{color:#333;background:#f0f0f0}.btn-secondary:hover{background:#e0e0e0;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.share-message{color:#fff;background:linear-gradient(135deg,#4ade80 0%,#22c55e 100%);border-radius:8px;margin-top:15px;padding:10px 18px;font-size:.9em;font-weight:500;animation:2.5s ease-out gentleFadeInOut;box-shadow:0 2px 8px #22c55e4d}.share-message.hidden{display:none}@keyframes gentleFadeInOut{0%{opacity:0;transform:translateY(-5px)scale(.95)}15%{opacity:1;transform:translateY(0)scale(1)}85%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(.98)}}#play-again{padding:12px 24px}.modal-hint{color:#999;margin-top:20px;font-size:.85em;font-style:italic}.statistics-section{background:#f9f9f9;border-radius:12px;margin:25px 0;padding:20px}.statistics-section h3{color:#667eea;margin-bottom:15px;font-size:1.3em}.stats-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px;display:grid}.stat-item{flex-direction:column;align-items:center;gap:5px;display:flex}.stat-value{color:#667eea;font-size:1.8em;font-weight:700}.stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:.75em}.guess-distribution{margin-top:20px}.guess-distribution h4{color:#333;text-align:left;margin-bottom:12px;font-size:1.1em}.distribution-bar{align-items:center;gap:8px;margin-bottom:6px;display:flex}.distribution-label{color:#666;text-align:right;min-width:40px;font-size:.9em;font-weight:500}.distribution-bar-container{background:#e0e0e0;border-radius:4px;flex:1;height:24px;position:relative;overflow:hidden}.distribution-bar-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:4px;justify-content:flex-end;align-items:center;min-width:24px;height:100%;padding-right:8px;transition:width .5s;display:flex}.distribution-bar-fill.current{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)}.distribution-count{color:#fff;font-size:.85em;font-weight:700}@media (width<=1200px){.main-content{flex-direction:column;align-items:center}body{overflow-y:auto}#globe-container{aspect-ratio:1;flex-shrink:0;width:100%;max-width:700px;height:700px}.container{width:100%;max-width:500px;min-height:0;max-height:none;overflow-y:auto}}@media (width<=600px){body{padding:10px;overflow-y:auto}#globe-container{aspect-ratio:auto;flex-shrink:0;height:250px}.container{flex-shrink:1;min-height:0;max-height:none;padding:20px;overflow-y:auto}h1{font-size:2em}.legend-items{font-size:.8em}.modal-content{max-width:90vw;padding:25px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-value{font-size:1.5em}.stat-label{font-size:.7em}.statistics-section h3{font-size:1.1em}.guess-distribution h4{font-size:1em}}.credits-footer{text-align:center;color:#fffc;width:100%;max-width:800px;margin-top:40px;padding:20px;font-size:.9em}.credits-footer a{color:#fff;text-decoration:underline;transition:opacity .2s}.credits-footer a:hover{opacity:.8}.credits-details{opacity:.8;margin-top:8px;font-size:.85em}.credits-note{opacity:.7;margin-top:8px;font-size:.8em;font-style:italic}body.dark-theme .credits-footer{color:#e0e0e0b3}body.dark-theme .credits-footer a{color:#8ab4f8}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus-visible,.view-results-btn:focus-visible,.practice-mode-btn:focus-visible{outline-offset:2px;outline:3px solid #667eea}body.dark-theme button:focus-visible,body.dark-theme .view-results-btn:focus-visible,body.dark-theme .practice-mode-btn:focus-visible{outline-color:#8ab4f8}.toggle-switch input:focus-visible+.toggle-label{outline-offset:2px;border-radius:20px;outline:3px solid #667eea}body.dark-theme .toggle-switch input:focus-visible+.toggle-label{outline-color:#8ab4f8}.colorblind-select:focus-visible,.language-select:focus-visible{outline-offset:2px;outline:3px solid #667eea}body.dark-theme .colorblind-select:focus-visible,body.dark-theme .language-select:focus-visible{outline-color:#8ab4f8}:lang(ar){font-family:Noto Sans Arabic,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(bn){font-family:Noto Sans Bengali,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(fa){font-family:Noto Sans Arabic,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(hi){font-family:Noto Sans Devanagari,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(ja){font-family:Noto Sans JP,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(ko){font-family:Noto Sans KR,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(ru){font-family:Noto Sans,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(ur){font-family:Noto Sans Arabic,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(zh){font-family:Noto Sans SC,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:lang(zh-TW){font-family:Noto Sans TC,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}@media (width<=600px){:lang(bn) .control-label[for=sort-toggle],:lang(cs) .control-label[for=sort-toggle],:lang(es) .control-label[for=sort-toggle],:lang(hi) .control-label[for=sort-toggle],:lang(it) .control-label[for=sort-toggle],:lang(ja) .control-label[for=sort-toggle],:lang(nl) .control-label[for=sort-toggle],:lang(pt) .control-label[for=sort-toggle],:lang(ru) .control-label[for=sort-toggle],:lang(sv) .control-label[for=sort-toggle],:lang(uk) .control-label[for=sort-toggle],:lang(zh) .control-label[for=sort-toggle],:lang(zh-TW) .control-label[for=sort-toggle]{font-size:.7em}:lang(de) .control-label[for=sort-toggle],:lang(id) .control-label[for=sort-toggle],:lang(tr) .control-label[for=sort-toggle]{font-size:.6em}:lang(fa) .control-label[for=sort-toggle],:lang(hu) .control-label[for=sort-toggle],:lang(ro) .control-label[for=sort-toggle]{font-size:.55em}:lang(de) .toggle-option,:lang(ru) .toggle-option,:lang(sw) .toggle-option,:lang(uk) .toggle-option{font-size:.6em}}[dir=rtl] .control-label,[dir=rtl] .colorblind-select,[dir=rtl] .language-select{text-align:start}
