html,body{margin:0;padding:0;height:100%;overflow:hidden}body{background-color:#0a0f0a;color:#fff;font-family:monospace}#root{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}.app{width:100vw;height:100vh;background-color:#0a0f0a;position:relative;overflow:hidden}.canvas-container{position:absolute;top:0;left:0;width:100%;height:100%}.map-header{position:absolute;top:20px;left:20px;z-index:100}.map-name-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:8px 12px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s}.map-name-btn:hover{background-color:#040;box-shadow:0 0 8px #0f0}.reset-view-btn{position:absolute;bottom:20px;left:20px;background-color:#030;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s;z-index:100;box-shadow:0 2px 8px #14532d66}.reset-view-btn:hover{background-color:#0f0}.card{padding:2em}.read-the-docs{color:#888}.poi-details-sidebar{position:fixed;top:0;right:0;width:450px;height:100vh;background-color:#000;border:2px solid #00ff00;z-index:2000;display:flex;flex-direction:column;color:#0f0;font-family:monospace;overflow-x:hidden;box-sizing:border-box}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #06b6d4;background-color:#334155}.sidebar-title{margin:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:8px;color:#22d3ee;font-family:monospace}.poi-emoji{font-size:1rem}.close-btn{background:none;border:none;color:#4ade80;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s;font-family:monospace}.close-btn:hover{background-color:#1f2937;color:#0f0}.sidebar-content{flex:1;padding:16px;overflow-y:auto;overflow-x:hidden}.poi-field{margin-bottom:12px}.poi-field label{display:block;font-size:.75rem;font-weight:700;color:#22d3ee;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-family:monospace}.poi-field>div{background-color:#334155;padding:8px 12px;border-radius:4px;border:1px solid #06b6d4;font-size:.875rem;font-family:monospace}.poi-type{font-weight:700}.coordinates{font-family:monospace;font-size:.875rem}.notes{min-height:60px;line-height:1.4}.timestamp{font-size:.75rem;color:#9ca3af}.sidebar-actions{padding:16px;border-top:1px solid #00ff00;display:flex;gap:8px}.delete-btn{background-color:#dc2626;color:#fff;border:1px solid #00ff00;padding:8px 12px;border-radius:3px;cursor:pointer;font-family:monospace;font-size:12px;transition:all .2s;flex:1}.delete-btn:hover{background-color:#b91c1c;border-color:#0f0;box-shadow:0 0 10px #0f06}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.confirm-dialog{background-color:#000;border:2px solid #00ff00;border-radius:8px;padding:24px;min-width:300px;max-width:400px;color:#0f0;font-family:monospace;text-align:center}.confirm-dialog h3{margin:0 0 16px;color:#0f0;font-size:18px}.confirm-dialog p{margin:8px 0;color:#fff;line-height:1.4}.confirm-dialog-actions{display:flex;gap:12px;margin-top:20px;justify-content:center}.confirm-btn{background-color:#dc2626;color:#fff;border:1px solid #00ff00;padding:8px 16px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s}.confirm-btn:hover{background-color:#b91c1c;box-shadow:0 0 8px #0f06}.cancel-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:8px 12px;border-radius:3px;cursor:pointer;font-family:monospace;font-size:12px;transition:all .2s;flex:1}.cancel-btn:hover{background-color:#0f0;color:#000}.edit-input,.edit-select,.edit-textarea,input[type=text],input[type=number],select,textarea{width:100%;background-color:#111!important;color:#0f0!important;border:1px solid #333!important;padding:8px;font-family:monospace;font-size:12px;border-radius:3px;box-sizing:border-box}.edit-input:focus,.edit-select:focus,.edit-textarea:focus,input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:#0f0!important;box-shadow:0 0 5px #00ff004d}input:disabled,select:disabled,textarea:disabled{background-color:#1a1a1a!important;color:#666!important;border-color:#444!important;opacity:.7}.edit-textarea{resize:vertical;min-height:60px}.action-buttons-row{display:flex;gap:8px;margin-top:8px}.save-btn,.edit-btn,.delete-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:8px 12px;margin:0;cursor:pointer;font-family:monospace;font-size:12px;border-radius:3px;transition:all .2s;flex:1}.save-btn:hover,.edit-btn:hover,.delete-btn:hover{background-color:#040;box-shadow:0 0 8px #0f06}.mode-toggle{display:flex;gap:4px;margin-top:4px}.mode-btn{flex:1;background-color:#1f2937;color:#9ca3af;border:1px solid #374151;padding:6px 12px;font-family:monospace;font-size:11px;border-radius:3px;cursor:pointer;transition:all .2s}.mode-btn:hover:not(:disabled){background-color:#374151;color:#0f0}.mode-btn.active{background-color:#030;color:#0f0;border-color:#0f0}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.bearings-section{margin-top:8px}.bearing-entry{margin-bottom:8px;padding:8px;background-color:#1f2937;border:1px solid #374151;border-radius:4px}.bearing-controls{display:flex;flex-direction:column;gap:8px}.bearing-field{display:flex;flex-direction:column;gap:4px}.bearing-field label{font-size:10px;color:#9ca3af;font-family:monospace;text-transform:uppercase;letter-spacing:.5px}.bearing-actions{display:flex;justify-content:flex-end;margin-top:4px}.bearing-select,.bearing-input{background-color:#111;color:#0f0;border:1px solid #333;padding:4px 6px;font-family:monospace;font-size:11px;border-radius:3px}.bearing-select:focus,.bearing-input:focus{outline:none;border-color:#0f0;box-shadow:0 0 3px #00ff004d}.bearing-reference-row{display:flex;gap:8px;align-items:center}.bearing-poi-select{flex:2}.bearing-direction-select{flex:1;min-width:80px}.poi-field-row{display:flex;gap:12px;align-items:flex-start}.type-field{flex:2}.depth-field{flex:1;min-width:120px}.remove-bearing-btn{background-color:#030;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s}.remove-bearing-btn:hover{background-color:#040}.add-bearing-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:6px 12px;border-radius:3px;cursor:pointer;font-family:monospace;font-size:11px;transition:all .2s;width:100%;margin-top:8px}.add-bearing-btn:hover:not(:disabled){background-color:#040;box-shadow:0 0 5px #0f06}.add-bearing-btn:disabled{opacity:.5;cursor:not-allowed}.calculated-coordinates{margin-top:8px;padding:4px 8px;background-color:#0f172a;border:1px solid #4ecdc4;border-radius:3px;text-align:center}.calculated-coordinates small{color:#4ecdc4;font-family:monospace}.compass-dial-container{display:flex;flex-direction:column;align-items:center;gap:12px;margin:16px 0}.compass-dial-linear{background-color:#000c;border:2px solid #00ff00;-webkit-user-select:none;user-select:none}.bearing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.bearing-label-section{display:flex;flex-direction:column;align-items:flex-start}.bearing-display{font-size:14px;font-weight:700;color:#0f0;font-family:Courier New,monospace;margin-top:4px}.bearing-direction{font-size:12px;color:#888;font-family:monospace;text-transform:uppercase}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:3000}.modal-content{background-color:#000;border:2px solid #00ff00;border-radius:8px;min-width:500px;max-width:600px;max-height:80vh;color:#0f0;font-family:monospace;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #00ff00;background-color:#010}.modal-header h2{margin:0;color:#0f0;font-size:18px;font-family:monospace}.modal-body{flex:1;padding:20px;overflow-y:auto}.map-actions{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.import-export-actions{display:flex;gap:10px}.import-map-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:8px 12px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:12px;transition:all .2s}.import-map-btn:hover{background-color:#040;box-shadow:0 0 8px #0f06}.import-error{background-color:#300;color:#f66;border:1px solid #ff3333;padding:10px;border-radius:4px;margin-bottom:15px;font-family:monospace;font-size:12px}.create-map-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:10px 16px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s;width:100%}.create-map-btn:hover{background-color:#040;box-shadow:0 0 8px #0f06}.maps-list{display:flex;flex-direction:column;gap:12px}.map-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#010;border:1px solid #333;border-radius:6px;transition:all .2s}.map-item:hover{border-color:#0f0;background-color:#020}.map-item.current{border-color:#0f0;background-color:#020;box-shadow:0 0 8px #0f03}.map-info{flex:1;display:flex;flex-direction:column;gap:4px}.map-name{font-size:16px;font-weight:700;color:#0f0;cursor:pointer;transition:color .2s}.map-name:hover{color:#4f4}.current-indicator{color:#4f4;font-size:14px;font-weight:400}.map-meta{font-size:12px;color:#888}.map-item .map-actions{display:flex;gap:8px}.map-item .export-btn,.map-item .edit-btn,.map-item .delete-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:6px 10px;border-radius:3px;cursor:pointer;font-family:monospace;font-size:12px;transition:all .2s;min-width:32px;text-align:center}.edit-btn:hover,.delete-btn:hover{background-color:#040;box-shadow:0 0 5px #0f06}.delete-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#111;color:#555;border-color:#333}.delete-btn:disabled:hover{background-color:#111;box-shadow:none}.edit-name{display:flex;align-items:center;gap:8px}.edit-name input{flex:1;background-color:#111;color:#0f0;border:1px solid #00ff00;padding:4px 8px;font-family:monospace;font-size:14px;border-radius:3px}.edit-name input:focus{outline:none;box-shadow:0 0 5px #00ff004d}.edit-actions{display:flex;gap:4px}.edit-actions button{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:4px 8px;border-radius:3px;cursor:pointer;font-family:monospace;font-size:12px;transition:all .2s;min-width:24px}.edit-actions button:hover{background-color:#040;box-shadow:0 0 5px #0f06}.delete-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:100}.delete-confirm-dialog{background-color:#000;border:2px solid #00ff00;border-radius:8px;padding:24px;min-width:300px;max-width:400px;color:#0f0;font-family:monospace;text-align:center}.delete-confirm-dialog h3{margin:0 0 16px;color:#0f0;font-size:18px}.delete-confirm-dialog p{margin:8px 0;color:#fff;line-height:1.4}.delete-confirm-actions{display:flex;gap:12px;margin-top:20px;justify-content:center}.confirm-delete-btn{background-color:#dc2626;color:#fff;border:1px solid #00ff00;padding:8px 16px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s}.confirm-delete-btn:hover{background-color:#b91c1c;box-shadow:0 0 8px #0f06}.cancel-delete-btn{background-color:#030;color:#0f0;border:1px solid #00ff00;padding:8px 16px;border-radius:4px;cursor:pointer;font-family:monospace;font-size:14px;transition:all .2s}.cancel-delete-btn:hover{background-color:#040;box-shadow:0 0 8px #0f06}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark light;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}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;color:inherit;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}}
