:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#1e293b;background-color:#e4eaf1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}a{font-weight:500;color:#2196b6;text-decoration:inherit}a:hover{color:#1a7a93}body{margin:0;min-width:320px;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:#e4eaf1;color:#1e293b;transition:background-color .3s ease,color .3s ease}body.dark{background-color:#0b1622;color:#e2e8f0}body.dark a{color:#2dd4bf}body.dark a:hover{color:#5eead4}#root{width:100%;min-width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:transparent;cursor:pointer;transition:all .2s ease}button:focus,button:focus-visible{outline:none}input,select,textarea{font-family:inherit}[style*=overflowX]{-webkit-overflow-scrolling:touch;scrollbar-width:none}[style*=overflowX]::-webkit-scrollbar{display:none}.leaflet-container{z-index:0!important;isolation:isolate}.leaflet-pane,.leaflet-tile-pane,.leaflet-overlay-pane,.leaflet-shadow-pane,.leaflet-marker-pane,.leaflet-tooltip-pane,.leaflet-popup-pane{z-index:auto!important}.leaflet-top,.leaflet-bottom{z-index:1!important}@media(max-width:480px){#root{zoom:1.05;-webkit-text-size-adjust:105%}}.app,.page{max-width:1280px;margin:0 auto;padding:2rem;padding-left:max(2rem,env(safe-area-inset-left));padding-right:max(2rem,env(safe-area-inset-right));width:100%;box-sizing:border-box}.app{text-align:center}.status-card{margin-bottom:1rem}.status-label{font-size:.875rem;color:#64748b;margin:0 0 .25rem}.status-value{font-weight:600;margin:0}.status-ok{color:#10b981}.status-warn{color:#f59e0b}.status-hint{font-size:.75rem;color:#94a3b8;margin:.5rem 0 0}.app h1{background:linear-gradient(135deg,#0ea5e9,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{color:#64748b;margin-bottom:2rem}.card{padding:2em}.card button{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border:none}.card button:hover{filter:brightness(1.1)}.card code{background:#0ea5e926;padding:.2em .4em;border-radius:4px}
