:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;display:grid;place-items:center;background:var(--page-bg);color:var(--text-primary);transition:background-color .18s ease,color .18s ease}#root{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:stretch;padding:1rem}@media(min-width:1024px){body{place-items:center}#root{padding-top:1rem}}button{border-radius:8px;border:1px solid #d3d6da;font:inherit;cursor:pointer;background:#d3d6da;color:#1a1a1b}.app{width:100%;max-width:520px;margin:0 auto;min-height:calc(100vh - 2rem);padding:1.8rem 1.2rem 2rem;background:var(--game-container-bg);color:var(--text-primary);border-radius:14px;display:flex;flex-direction:column;border:1px solid var(--border-color)}:root{--page-bg: #e9edf1;--game-container-bg: #f8f9fb;--text-primary: #1a1a1b;--text-muted: #787c7e;--guess-text: #1a1a1b;--guess-meta-text: #303235;--border-color: #c7ccd2;--panel-bg: #ffffff;--control-bg: #d3d6da;--control-bg-hover: #cfd2d6;--control-focus-ring: rgba(47, 158, 68, .28);--guess-result-bg: #f1f3f5;--guess-result-border: #c8cdd3;--guess-result-shadow: 0 1px 3px rgba(17, 24, 39, .08);--input-field-bg: #ffffff;--input-field-border: #9aa5b1;--input-field-shadow: 0 2px 6px rgba(17, 24, 39, .1);--result-stat-bg: #f8f8f8;--guess-control-height: 3rem;--status-win-bg: #ccefd5;--status-win-border: #2f9e44;--status-win-text: #245d2a;--status-lost-bg: #f6d9dd;--status-lost-border: #c94c4c;--status-lost-text: #7d1f1f;--distance-close-bg: #ffe9a8;--distance-close-border: #c9961a;--active-row-glow: rgba(47, 158, 68, .24);--cta-bg: #2f9e44;--cta-bg-hover: #27863a;--cta-text: #ffffff;--modal-backdrop: rgba(26, 26, 27, .6)}:root[data-theme=dark]{--page-bg: #181a1d;--game-container-bg: #2d3035;--text-primary: #f2f3f4;--text-muted: #c7cad0;--guess-text: #1a1a1b;--guess-meta-text: #232527;--border-color: #5a5f66;--panel-bg: #252a2f;--control-bg: #4b4f54;--control-bg-hover: #5b6066;--control-focus-ring: rgba(54, 178, 79, .32);--guess-result-bg: #33373d;--guess-result-border: #656b73;--guess-result-shadow: 0 1px 3px rgba(5, 6, 8, .35);--input-field-bg: #252a2f;--input-field-border: #89939f;--input-field-shadow: 0 2px 6px rgba(5, 6, 8, .45);--result-stat-bg: #31353a;--distance-close-bg: #6c5718;--distance-close-border: #e0b23c;--active-row-glow: rgba(54, 178, 79, .32);--cta-bg: #36b24f;--cta-bg-hover: #2f9b45;--cta-text: #f7faf7;--modal-backdrop: rgba(5, 6, 8, .7)}.app-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.6rem}.icon-button{height:2.4rem;padding:0 .8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-bg);color:var(--text-primary);display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.95rem;white-space:nowrap;min-width:0}.icon-button span{white-space:nowrap}.icon-button:hover{background:var(--control-bg-hover)}.icon-button:disabled{opacity:.55;cursor:not-allowed}.icon-button-active{background:var(--status-lost-bg);border-color:var(--status-lost-border);color:var(--status-lost-text)}.icon-button svg{width:1.05rem;height:1.05rem;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.title{margin:0;text-align:center;display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:3rem}.title-icon{width:2.05rem;height:2.05rem;object-fit:contain;border-radius:6px}.streak{margin:0;text-align:center;color:var(--text-muted);font-weight:700;font-size:1.2rem}.clue{font-size:4rem;text-align:center;margin:1rem 0 1.2rem;line-height:1;display:block}.clue-emoji{display:inline-block;transform:translateY(0)}.clue-ripple-active .clue-emoji{animation:clue-ripple .56s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--emoji-index) * 90ms)}.clue-guess-bounce{animation:clue-submit-bounce .36s ease-out}.game-status{margin:0 0 1rem;padding:.8rem .9rem;border:2px solid #d3d6da;border-radius:8px;background:#f0f0f0;text-align:center;font-size:1.2rem;font-weight:700;line-height:1.2}.game-status-button{width:100%;cursor:pointer;display:block}.game-status-button:hover{filter:brightness(.98)}.game-status-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--control-focus-ring)}.game-status-won{background:var(--status-win-bg);border-color:var(--status-win-border);color:var(--status-win-text)}.subtitle{margin:.2rem 0 .9rem;text-align:center;color:var(--text-muted);font-weight:600;font-size:1.05rem}.game-status-lost{background:var(--status-lost-bg);border-color:var(--status-lost-border);color:var(--status-lost-text)}.guess-grid{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.15rem}.guess-row{height:var(--guess-control-height);border:2px solid var(--guess-result-border);border-radius:999px;background:var(--guess-result-bg);display:flex;align-items:center;justify-content:space-between;padding:0 .85rem;font-size:1.08rem;line-height:1;box-shadow:var(--guess-result-shadow);cursor:default}.guess-row *{cursor:inherit}.guess-row-filled{animation:guess-row-enter .24s ease-out both}.guess-row-shake{animation:wrong-guess-shake .32s ease-in-out}.guess-row-active{border-color:var(--cta-bg);box-shadow:0 0 0 3px var(--active-row-glow);animation:active-row-glow 1.8s ease-in-out infinite}.guess-row-correct{background:var(--status-win-bg);border-color:var(--status-win-border)}.guess-row-distance-close{background:var(--distance-close-bg);border-color:var(--distance-close-border)}.guess-row-distance-medium{background:#fff4cc;border-color:#c9b458}.guess-row-distance-far{background:#f6d9dd;border-color:#c94c4c}.guess-name{color:var(--guess-text);font-weight:600;padding-right:.45rem}.guess-distance{color:var(--guess-meta-text);font-weight:600;letter-spacing:.01em;font-size:1rem}.guess-meta{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.guess-arrow{color:var(--guess-meta-text);font-size:1.18rem;line-height:1}.guess-row-filled .guess-arrow{animation:guess-arrow-bounce .42s ease-out .15s both}.guess-controls{display:flex;gap:.6rem;margin-top:1.2rem;padding-top:1.2rem;border-top:2px solid var(--border-color)}.input-wrapper{flex:1;position:relative}.input-wrapper input{width:100%;height:calc(var(--guess-control-height) + .38rem);padding:0 .85rem;border:2px solid var(--input-field-border);border-radius:6px;background:var(--input-field-bg);color:var(--text-primary);box-sizing:border-box;font-size:1.08rem;font-weight:600;box-shadow:var(--input-field-shadow);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.input-wrapper input:focus{outline:none}.input-wrapper input:focus-visible{border-color:var(--cta-bg);box-shadow:0 0 0 3px var(--control-focus-ring),var(--input-field-shadow)}.suggestions{position:absolute;top:100%;left:0;right:0;margin:0;padding:0;list-style:none;border:2px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;background:var(--panel-bg);z-index:100;max-height:260px;overflow-y:auto}.suggestions li{padding:.75rem .82rem;cursor:pointer;color:var(--text-primary);font-size:1.02rem}.suggestions li:hover,.suggestions li.suggestion-active{background:var(--control-bg)}.guess-controls button{height:calc(var(--guess-control-height) + .3rem);padding:0 1.25rem;border:1px solid var(--cta-bg);background:var(--cta-bg);color:var(--cta-text);font-weight:800;font-size:1.08rem;letter-spacing:.01em;box-shadow:0 3px 10px #00000024;transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.guess-controls button:hover:not(:disabled){background:var(--cta-bg-hover);border-color:var(--cta-bg-hover);transform:translateY(-1px);box-shadow:0 5px 14px #0003}.guess-controls button:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 10px #00000024}.guess-controls button:disabled{border-color:var(--border-color);background:var(--control-bg);color:var(--text-muted)}.result-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:var(--modal-backdrop);z-index:200;animation:fade-in .18s ease-out}.result-modal{position:relative;overflow:hidden;width:min(100%,420px);border:2px solid var(--border-color);border-radius:12px;background:var(--panel-bg);padding:1.35rem 1.1rem 1rem;text-align:center;transform-origin:center;animation:pop-in .22s ease-out}.result-modal-won{border-color:var(--status-win-border)}.result-modal-lost{border-color:var(--status-lost-border)}.result-modal-title{margin:0;font-size:1.6rem;font-weight:800}.result-modal-won .result-modal-title{color:var(--status-win-text)}.result-modal-lost .result-modal-title{color:var(--status-lost-text)}.result-modal-message{margin:0;color:var(--text-primary);font-weight:600;font-size:1.03rem}.result-modal-city-link{display:inline-flex;align-items:center;padding:.1rem .45rem;border:1px solid var(--border-color);border-radius:999px;background:var(--result-stat-bg);color:var(--text-primary);font-weight:800;text-decoration:none;box-shadow:0 1px 2px #0000001a;transition:background-color .14s ease,border-color .14s ease,transform .12s ease}.result-modal-city-link:hover{background:var(--control-bg);border-color:var(--cta-bg);transform:translateY(-1px)}.result-modal-city-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--control-focus-ring)}.result-modal-message-small{margin:0 0 .5rem;color:var(--text-muted);font-size:.92rem}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0 0 .8rem}.result-stat{border:1px solid var(--border-color);border-radius:8px;background:var(--result-stat-bg);padding:.45rem;display:flex;flex-direction:column;align-items:center}.result-stat-value{font-size:1.3rem;font-weight:800;color:var(--text-primary)}.result-stat-label{font-size:.9rem;color:var(--text-muted);font-weight:600}.result-modal-countdown{margin:0;padding:.5rem .75rem;border-radius:8px;background:var(--control-bg);color:var(--text-primary);font-weight:700;letter-spacing:.01em}.result-modal-close{margin-top:.85rem;width:100%;height:2.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--control-bg);color:var(--text-primary);font-weight:700}.result-modal-close:hover{background:var(--control-bg-hover)}.result-modal-share{margin-top:.7rem;width:100%;height:2.6rem;border:1px solid var(--status-win-border);border-radius:8px;background:var(--status-win-bg);color:var(--status-win-text);font-weight:800;font-size:1rem;line-height:1.2;text-wrap:balance}.result-modal-share:disabled{border-color:var(--border-color);background:var(--control-bg);color:var(--text-muted);cursor:not-allowed}.result-modal-feedback{margin:.45rem 0 0;color:var(--text-primary);font-size:.95rem;font-weight:600}.result-confetti{position:absolute;inset:0;pointer-events:none}.result-confetti-piece{position:absolute;top:.35rem;left:var(--confetti-left);width:.35rem;height:.65rem;border-radius:3px;background:var(--status-win-border);opacity:0;transform:translateY(-4px) rotate(var(--confetti-rotate));animation:confetti-drop .92s ease-out var(--confetti-delay) forwards}.result-confetti-piece:nth-child(3n){background:var(--distance-close-border)}.result-confetti-piece:nth-child(4n){background:var(--cta-bg)}.result-modal-stats .result-modal-title{color:var(--text-primary)}.result-modal-stats{border-color:var(--border-color);background:var(--panel-bg)}.result-modal-stats .result-stat{border-color:var(--border-color);background:var(--result-stat-bg)}.result-modal-stats .result-stat-value{color:var(--text-primary)}.result-modal-stats .result-stat-label{color:var(--text-muted)}.result-modal-hard-mode .result-modal-title{color:var(--text-primary)}.result-modal-dismiss{position:absolute;top:.5rem;right:.55rem;width:2rem;height:2rem;border:1px solid var(--border-color);border-radius:999px;background:var(--panel-bg);color:var(--text-primary);font-size:1.25rem;line-height:1;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.result-modal-dismiss:hover{background:var(--control-bg-hover)}.result-modal-help .result-modal-title{color:var(--text-primary)}.help-list{margin:.25rem 0 .6rem;padding:0;list-style:none;text-align:left;color:var(--text-primary);font-size:1rem;line-height:1.4}.help-list li{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .55rem}.help-list li:last-child{margin-bottom:.2rem}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;flex:0 0 1.35rem;font-size:1.05rem;line-height:1.35}.help-item-text{display:block;flex:1;color:var(--text-primary)}.help-example{margin-top:.65rem;border:1px solid var(--border-color);border-radius:10px;background:var(--result-stat-bg);padding:.7rem .75rem;text-align:left}.help-example-title{margin:0 0 .25rem;color:var(--text-primary);font-size:.9rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.help-example-row{margin:0;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:1rem}.help-example-meta{color:var(--guess-meta-text);font-weight:700}.help-example-note{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem}@media(max-width:560px){.app{min-height:calc(100vh - 1rem);padding:1.25rem .9rem 1.4rem}.app-actions{justify-content:space-between;gap:.35rem}.icon-button{flex:1;justify-content:center;font-size:.76rem;gap:.22rem;padding:0 .3rem}.icon-button svg{width:.9rem;height:.9rem;flex:0 0 auto}.icon-button span{overflow:hidden;text-overflow:ellipsis}.title{font-size:2rem;gap:.45rem}.title-icon{width:1.7rem;height:1.7rem}.subtitle{font-size:.97rem}.streak{font-size:1.05rem}.clue{font-size:3.1rem;margin:.85rem 0 .95rem}.game-status{font-size:1.05rem}.guess-row{font-size:1rem;padding:0 .72rem}.guess-controls{flex-direction:column;gap:.55rem}.guess-controls button{width:100%}.result-modal{width:min(100%,460px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes guess-row-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes guess-arrow-bounce{0%{transform:translateY(0)}35%{transform:translateY(-2px)}65%{transform:translateY(1px)}to{transform:translateY(0)}}@keyframes active-row-glow{0%,to{box-shadow:0 0 0 2px var(--active-row-glow)}50%{box-shadow:0 0 0 4px var(--active-row-glow)}}@keyframes clue-ripple{0%{transform:translateY(0)}34%{transform:translateY(-3.5px)}72%{transform:translateY(.9px)}to{transform:translateY(0)}}@keyframes clue-submit-bounce{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.015)}70%{transform:translateY(0) scale(.995)}to{transform:translateY(0) scale(1)}}@keyframes wrong-guess-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}@keyframes confetti-drop{0%{opacity:0;transform:translateY(-4px) rotate(var(--confetti-rotate))}12%{opacity:1}to{opacity:0;transform:translateY(112px) rotate(calc(var(--confetti-rotate) * 1.8))}}@media(prefers-reduced-motion:reduce){.guess-row-filled,.guess-row-filled .guess-arrow,.guess-row-shake,.guess-row-active,.clue-ripple-active .clue-emoji,.clue-guess-bounce,.result-confetti-piece{animation:none}}.app-footer{margin-top:auto;padding-top:1rem;text-align:center}.footer-text{font-size:.65rem;margin:0;color:var(--border-color)}.footer-links{margin-top:.35rem;display:flex;align-items:center;justify-content:center;gap:.3rem;flex-wrap:wrap}.footer-link{color:var(--border-color);text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;font:inherit;cursor:pointer}.footer-link:hover{color:var(--text-muted);text-decoration:underline}.result-modal-privacy{width:min(100%,520px);max-height:min(86vh,760px);display:flex;flex-direction:column;text-align:left;padding-top:2.35rem}.privacy-modal-content{margin-top:.75rem;max-height:calc(min(86vh,760px) - 9.5rem);overflow-y:auto;font-size:.95rem;line-height:1.6;padding-right:.2rem}.result-modal-privacy .result-modal-title{color:var(--text-primary);font-size:1.4rem;margin-bottom:.15rem}.privacy-modal-content h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.8rem}.privacy-modal-content h4{font-size:1rem;margin-top:1.2rem;margin-bottom:.6rem;font-weight:600}.privacy-modal-content p{margin-bottom:.8rem}.privacy-modal-content ul{margin-left:1.5rem;margin-bottom:.8rem}.privacy-modal-content li{margin-bottom:.4rem}.privacy-modal-content a{color:var(--cta-bg);text-decoration:none}.privacy-modal-content a:hover{text-decoration:underline}.result-modal-privacy .result-modal-close{margin-top:.8rem}@media(max-width:560px){.result-modal-privacy{width:min(100%,460px);max-height:90vh;padding-top:2.2rem}.privacy-modal-content{max-height:calc(90vh - 9rem);font-size:.92rem}}
