:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html{height:100%;width:100%;overflow:hidden}:root{--primary-color: #00B0FF;--accent-color: #00E676;--danger-color: #FF5252;--bg-dark: rgba(30, 30, 30, .95);--bg-light: rgba(255, 255, 255, .95);--text-dark: #fff;--text-light: #333;--border-color: rgba(255, 255, 255, .2)}body{margin:0;padding:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none;background-color:#121212;overscroll-behavior:none}.App{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:auto}.floating-menu-btn{position:fixed;top:10px;left:10px;z-index:40;width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#1e1e1ee6;color:var(--primary-color);font-size:20px;cursor:pointer;box-shadow:0 4px 10px #00000080;display:flex;justify-content:center;align-items:center;transition:transform .2s,background .2s}.floating-menu-btn:hover{transform:scale(1.05);background:#444;color:#fff}.ui-panel{position:fixed;top:10px;left:10px;height:auto;max-height:calc(100dvh - 20px);width:320px;max-width:85vw;padding:15px;border-radius:12px;box-shadow:0 4px 20px #0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;border:1px solid var(--border-color);display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.25,.8,.25,1);transform:translate(0)}.ui-panel.closed{transform:translate(-120%);box-shadow:none}.ui-panel>div{scrollbar-width:thin;scrollbar-color:var(--primary-color) rgba(0,0,0,.2)}.ui-panel ::-webkit-scrollbar{width:6px}.ui-panel ::-webkit-scrollbar-track{background:#0000001a}.ui-panel ::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:10px}.ui-panel h3{margin-top:0;font-size:16px;text-transform:uppercase;letter-spacing:1px;color:var(--primary-color)}.ui-panel label{display:block;font-size:11px;margin-top:8px;font-weight:600;color:#aaa;text-transform:uppercase}.ui-panel input[type=text],.ui-panel input[type=number],.ui-panel select,.ui-panel textarea{width:100%;padding:8px;margin-top:4px;border-radius:4px;border:1px solid #555;background:#0003;color:inherit;box-sizing:border-box;font-size:13px}.ui-panel input:focus,.ui-panel select:focus{border-color:var(--primary-color);outline:none;background:#0006}.main-action-btn{width:100%;padding:10px;margin-top:15px;border:none;border-radius:6px;font-weight:700;cursor:pointer;color:#fff;text-transform:uppercase;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000004d;transition:filter .2s}.main-action-btn:hover{filter:brightness(1.2)}.btn-start{background:var(--accent-color);color:#000}.point-list-container{background:#00000026;border-radius:6px;border:1px solid rgba(255,255,255,.05);padding:5px;margin-top:10px}.icon-btn{padding:6px;border-radius:50%;border:none;background:transparent;cursor:pointer;font-size:16px;transition:background .2s}.icon-btn:hover{background:#ffffff1a}.tab-btn{transition:background .2s;border-radius:4px}.tab-btn:hover{background:#ffffff0d!important}.panel-logo{height:24px;width:auto;object-fit:contain;display:block}.user-menu-container{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px;margin-bottom:10px;animation:fadeIn .2s ease-out}.user-info-header{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px;margin-bottom:8px}.user-avatar{width:30px;height:30px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:14px}.menu-item-btn{width:100%;text-align:left;background:transparent;border:none;color:#ccc;padding:8px;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s;font-size:13px}.menu-item-btn:hover{background:#ffffff0d;color:#fff}.menu-item-btn.danger{color:#ff5252}.menu-item-btn.danger:hover{background:#ff52521a}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.actions-bar{position:fixed;top:10px;right:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;z-index:40;pointer-events:auto}.fab{width:42px;height:42px;border-radius:8px;border:1px solid #444;background:#1e1e1ee6;color:#fff;font-size:18px;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #00000080;transition:transform .1s,background .2s}.fab:hover{transform:scale(1.05);background:#444;border-color:#666}.fab:active{transform:scale(.95)}.fab.red{color:var(--danger-color);border-color:var(--danger-color)}.fab.orange{color:#ff9800;border-color:#ff9800}.fab.blue{color:var(--primary-color);border-color:var(--primary-color)}.fab.active{background:var(--primary-color)!important;color:#fff!important;border-color:#fff!important}select.fab{appearance:none;-webkit-appearance:none;font-size:11px;font-weight:700;text-align-last:center}.hud-container{position:fixed;top:10px;left:50%;transform:translate(-50%);font-family:Roboto Mono,monospace;font-weight:700;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--accent-color);transition:all .3s;box-shadow:0 0 10px #00e67633;z-index:35}.hud-value{font-size:16px;display:block;line-height:1;text-align:center}.hud-label{font-size:8px;color:#aaa;text-transform:uppercase;margin-top:2px;text-align:center;display:block}.altitude-profile{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:60%;height:100px;background:var(--bg-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(128,128,128,.3);border-bottom:none;border-radius:12px 12px 0 0;display:flex;flexDirection:row;alignItems:center;z-index:35;padding:0 10px}.login-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#121212;display:flex;justify-content:center;align-items:center;z-index:9999}.login-box{background:#1e1e1e;padding:40px;border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 40px #00000080;text-align:center;width:320px}@media print{.ui-panel,.actions-bar,.hud-container,.altitude-profile,.portrait-lock-screen,.floating-menu-btn,.map-container-print{display:none!important}body{background:#fff}.App{position:static;height:auto;overflow:visible}}.portrait-lock-screen{display:none}@media screen and (max-width:768px)and (orientation:portrait){.ui-panel,.actions-bar,.hud-container,.altitude-profile,.floating-menu-btn{display:none!important}.portrait-lock-screen{display:flex!important;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#121212;color:#fff;z-index:10000;text-align:center;padding:20px}}@media screen and (max-height:600px)and (orientation:landscape){.ui-panel{left:0!important;top:0!important;bottom:0!important;height:100dvh!important;max-height:none!important;width:250px!important;border-radius:0!important;border:none!important;border-right:1px solid rgba(255,255,255,.2)!important;margin:0!important;padding-left:15px!important}.ui-panel.closed{transform:translate(-100%)}.floating-menu-btn{top:10px;left:10px;width:35px;height:35px}.actions-bar{top:5px!important;right:5px!important;gap:5px!important}.fab{width:35px!important;height:35px!important;font-size:14px!important}.hud-container{top:2px!important;padding:2px 10px!important;max-height:40px!important}.hud-value{font-size:12px!important}.altitude-profile{height:70px!important;bottom:0!important;left:250px!important;width:auto!important;right:0!important;transform:none!important;border-radius:0!important;border-top:1px solid #444!important;padding-bottom:2px!important;padding-right:0}body:has(.ui-panel.closed) .altitude-profile{left:0!important}.user-menu-container{background-color:#222;border:1px solid #444;border-radius:8px;padding:10px;margin-bottom:15px;box-shadow:0 4px 15px #00000080;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #444}.user-avatar{width:35px;height:35px;background:linear-gradient(135deg,#00b0ff,#00e676);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.menu-item-btn{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;color:#ddd;padding:8px 5px;cursor:pointer;text-align:left;font-size:12px;border-radius:4px;transition:background .2s}.menu-item-btn:hover{background-color:#ffffff1a;color:#fff}.menu-item-btn.danger{color:#ff5252}.menu-item-btn.danger:hover{background-color:#ff52521a}input[type=text],input[type=number],input[type=password],select,textarea{background-color:#0000004d!important;border:1px solid #555!important;color:#fff!important;border-radius:4px;outline:none}input:focus,select:focus,textarea:focus{border-color:#00b0ff!important;background-color:#00000080!important}.help-content a{color:#00b0ff;text-decoration:none}.help-content a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#444;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00b0ff}}
