*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{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:#f5f5f5;padding:8px;min-height:100vh;font-size:12px;line-height:1.5}.app{width:100%;margin:0 auto;background:#fff;padding:16px;border-radius:6px;box-shadow:0 2px 8px #0000001a}h1{color:#333;margin-bottom:16px;font-size:20px}.main-layout{display:flex;gap:12px;align-items:flex-start;max-width:100%}.form-container{flex:7;min-width:0;max-height:calc(100vh - 32px);overflow-y:auto}.response-container{flex:3;min-width:0;position:sticky;top:8px;max-height:calc(100vh - 32px);overflow-y:auto}.form-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:16px}.form-group-inline{display:flex;flex-direction:column;min-width:180px}.form-group-inline.flex-grow{flex:1}.form-group-inline label{margin-bottom:4px;font-size:11px}.form-group-inline input,.form-group-inline select{margin-bottom:0}.load-btn{width:auto;min-width:90px;height:36px;padding:0 16px}.form-group{margin-bottom:16px}label{display:block;margin-bottom:6px;color:#555;font-weight:600;font-size:12px}input,select{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;transition:border-color .3s}input:focus,select:focus{outline:none;border-color:#4caf50}select{cursor:pointer;background-color:#fff}select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}button{background:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .3s;width:100%}button:hover:not(:disabled){background:#45a049}button:disabled{background:#ccc;cursor:not-allowed}.primary-btn{background:#2196f3}.primary-btn:hover:not(:disabled){background:#0b7dda}.send-btn{margin-top:10px;background:#4caf50}.send-btn:hover:not(:disabled){background:#45a049}.specimen-info{background:#f9f9f9;padding:12px;border-radius:4px;margin:16px 0}.specimen-info p{margin:4px 0;color:#666;font-size:12px}.specimen-info strong{color:#333;font-weight:600}.color-badge{display:inline-block;width:18px;height:18px;border-radius:3px;margin-right:4px;vertical-align:middle;border:1px solid #ddd}.result-section{margin-top:24px;padding-top:24px;border-top:2px solid #eee}.result-section h2{color:#333;margin-bottom:12px;font-size:16px}.send-options{margin-top:12px;margin-bottom:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#555;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:auto;height:16px;cursor:pointer}.checkbox-label span{font-weight:500}.response-section{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:16px;height:100%}.response-section h2{color:#333;margin-bottom:12px;font-size:15px;margin-top:0}.response-data{background:#2d2d2d;color:#f8f8f2;border:1px solid #444;border-radius:4px;padding:12px;overflow-x:auto;font-family:Courier New,monospace;font-size:11px;line-height:1.5;max-height:calc(100vh - 160px);overflow-y:auto}.color-preview{display:flex;gap:6px;margin-top:6px;padding:4px 0}.color-preview-inline{display:flex;gap:5px;align-items:flex-end;padding-bottom:8px}.color-box{width:26px;height:26px;border-radius:3px;border:2px solid #ddd;display:inline-block;cursor:pointer;transition:transform .2s;flex-shrink:0}.color-box:hover{transform:scale(1.1);border-color:#999}.raw-data{background:#2d2d2d;color:#f8f8f2;padding:16px;border-radius:4px;font-family:Courier New,monospace;font-size:11px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.raw-data-editor{width:100%;background:#2d2d2d;color:#f8f8f2;padding:12px;border-radius:4px;font-family:Courier New,monospace;font-size:11px;line-height:1.5;border:2px solid #444;resize:vertical;min-height:270px}.raw-data-editor:focus{outline:none;border-color:#4caf50}.toast{position:fixed;top:16px;left:16px;padding:12px 20px;border-radius:6px;font-weight:500;font-size:12px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideIn .3s ease-out;min-width:270px;max-width:450px}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#4caf50;color:#fff}.toast-error{background:#f44336;color:#fff}.loading{color:#666;font-style:italic}
