body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121212;color:#e0e0e0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh;display:flex;flex-direction:column;background-color:#121212;color:#e0e0e0}.App-header{background-color:#1f1f1f;padding:20px;color:#e0e0e0;text-align:center;border-bottom:1px solid #333}.App-header h1{margin:0;font-size:2rem}.App-main{flex:1;padding:20px;box-sizing:border-box;background-color:#121212}.main-container{display:flex;gap:20px;height:calc(100vh - 120px);max-width:1400px;margin:0 auto}.input-section{flex:0 0 400px;padding:20px;border:2px solid #333;border-radius:8px;background-color:#1e1e1e;display:flex;flex-direction:column}.input-section h2{margin-top:0;margin-bottom:15px;color:#e0e0e0;text-align:center}.input-container{display:flex;flex-direction:column;gap:15px;flex:1}.text-input{padding:12px 16px;font-size:14px;border:2px solid #444;border-radius:4px;resize:vertical;font-family:Courier New,monospace;flex:1;min-height:200px;background-color:#2a2a2a;color:#e0e0e0}.text-input:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff40}.text-input::placeholder{color:#888}.submit-button{padding:12px 24px;font-size:16px;background-color:#4a9eff;color:#121212;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:600}.submit-button:hover{background-color:#3d8bdb}.submit-button:active{background-color:#2f6fb8}.parse-section{flex:1;padding:20px;border:2px solid #333;border-radius:8px;background-color:#1e1e1e;display:flex;flex-direction:column}.parse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.parse-section h2{margin:0;color:#e0e0e0}.status-lights{display:flex;gap:20px;align-items:center}.map-button{padding:8px 16px;font-size:14px;border:2px solid #4a9eff;border-radius:4px;background-color:#4a9eff;color:#121212;cursor:pointer;transition:all .2s;font-weight:600;min-width:60px}.map-button.enabled:hover{background-color:#3d8bdb;border-color:#3d8bdb}.map-button.enabled:active{background-color:#2f6fb8;border-color:#2f6fb8}.map-button.disabled{background-color:#666;border-color:#555;color:#999;cursor:not-allowed}.map-button.disabled:hover{background-color:#666;border-color:#555}.status-light{display:flex;flex-direction:column;align-items:center;gap:5px}.status-light span{font-size:12px;color:#e0e0e0;font-weight:500}.light{width:16px;height:16px;border-radius:50%;border:2px solid #333;box-shadow:0 0 4px #0000004d}.light.gray{background-color:#666;border-color:#555}.light.green{background-color:#4caf50;border-color:#388e3c;box-shadow:0 0 8px #4caf5066}.light.red{background-color:#f44336;border-color:#d32f2f;box-shadow:0 0 8px #f4433666}.parse-container{flex:1;overflow-y:auto}.parsed-data{display:flex;flex-direction:column;gap:20px}.data-group{border:1px solid #444;border-radius:6px;background-color:#2a2a2a;overflow:hidden}.data-group h3{margin:0;padding:12px 16px;background-color:#4a9eff;color:#121212;font-size:16px;font-weight:600}.data-fields{padding:16px}.field-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #3a3a3a}.field-row:last-child{border-bottom:none}.field-label{font-weight:500;color:#e0e0e0;min-width:180px;text-align:left}.field-value{color:#dde905;font-family:Courier New,monospace;background-color:#1a1a1a;padding:4px 8px;border-radius:3px;border:1px solid #444;min-width:100px;text-align:center}.empty-state{color:#888;font-style:italic;text-align:center;padding:40px}@media (max-width: 1024px){.main-container{flex-direction:column;height:auto}.input-section{flex:none}.parse-section{flex:none;min-height:400px}}@media (max-width: 768px){.App-main{padding:10px}.main-container{gap:15px}.input-section,.parse-section{padding:15px}.parse-header{flex-direction:column;gap:10px;align-items:center}.status-lights{gap:15px}.field-row{flex-direction:column;align-items:flex-start;gap:5px}.field-label{min-width:auto}.field-value{width:100%;text-align:left}}
