*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;min-height:100vh;transition:background .3s ease,color .3s ease}.app{max-width:980px;margin:36px auto;padding:24px;background:#fff;border-radius:16px;box-shadow:0 12px 32px #0f172a1a;display:flex;flex-direction:column;transition:all .3s ease}.app{background:#fff;color:#111827;transition:all .3s ease}.app.dark{background:#0f172a;color:#f9fafb}.app.dark .card{background:linear-gradient(180deg,#0f2f5c,#111827);border-color:#374151;color:#f8fafc}.app.dark input[type=text]{background:#111827;border-color:#374151;color:#f8fafc}.app.dark button{background:linear-gradient(90deg,#2563eb,#4f46e5)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb;transition:all .3s ease}.app.dark .navbar{border-bottom:1px solid #374151}.navbar .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.3rem}.navbar .logo .globe-icon{font-size:1.6rem;color:#2563eb;animation:spin 6s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mode-toggle{font-size:1.25rem;padding:6px 10px;border-radius:8px;border:none;cursor:pointer;background:#e5e7eb;color:#111827;transition:all .3s ease}.app.dark .mode-toggle{background:#374151;color:#f9fafb}.mode-toggle:hover{transform:scale(1.2);color:#facc15}.app h1{font-size:2rem;text-align:center;margin-bottom:12px;transition:color .3s ease}.controls{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}input[type=text]{padding:12px 16px;border-radius:15px;border:1px solid #e6e9ef;flex:1;font-size:1rem;transition:border-color .2s ease,background .3s ease,color .3s ease}input[type=text]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 6px #6366f14d}button{padding:12px 20px;border-radius:12px;border:none;background:linear-gradient(90deg,#6366f1,#4f46e5);font-weight:500;cursor:pointer;color:#fff;transition:all .3s ease}.app.dark button{background:linear-gradient(90deg,#4f46e5,#6366f1);color:#fff}button:hover{background:linear-gradient(90deg,#4f46e5,#6366f1);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.card{padding:20px;border-radius:12px;border:1px solid #eef2ff;background:linear-gradient(180deg,#fff,#f9fbff);margin-bottom:16px;box-shadow:0 4px 12px #0f172a0d;transition:transform .2s ease,background .3s ease,border-color .3s ease,color .3s ease}.card:hover{transform:translateY(-3px)}.small{font-size:13px;color:#95a2b9}.map{height:360px;width:100%;border-radius:12px;overflow:hidden;margin-top:16px;background:#e5e7eb;box-shadow:0 6px 20px #0f172a1a;transition:all .3s ease}.app.dark .map{background:#111827}details{background:#f3f4f6;border-radius:12px;padding:12px;margin-top:16px;font-family:monospace;font-size:.85rem;color:#1f2937}.app.dark details{background:linear-gradient(90deg,#4f46e5,#abacf8);color:#e5e7eb}footer.small{margin-top:20px;text-align:center;color:#9ca3af;font-style:italic}@media(max-width:600px){.controls{flex-direction:column}.mode-toggle{width:10%}input{padding:15px;border-radius:5px}button{width:100%}}
