.text_marker_dialog_overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.text_marker_dialog{color:#e0e0e0;background:#2d2d30;border-radius:8px;min-width:400px;max-width:500px;overflow:hidden;box-shadow:0 4px 20px #0006}.text_marker_dialog .dialog_header{background:#3c3c3f;border-bottom:1px solid #4a4a4d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.text_marker_dialog .dialog_header span{flex:1;font-size:14px;font-weight:500}.text_marker_dialog .dialog_header .back_btn,.text_marker_dialog .dialog_header .close_btn{color:#a0a0a0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.text_marker_dialog .dialog_header .back_btn:hover,.text_marker_dialog .dialog_header .close_btn:hover{color:#fff;background:#4a4a4d}.text_marker_dialog .dialog_header .back_btn{margin-right:8px}.text_marker_dialog .input_section{padding:16px}.text_marker_dialog .input_section .input_row{align-items:center;gap:8px;display:flex}.text_marker_dialog .input_section .input_row .text_input{color:#e0e0e0;background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;outline:none;flex:1;padding:10px 12px;font-size:14px;transition:border-color .2s}.text_marker_dialog .input_section .input_row .text_input:focus{border-color:#4fc3f7}.text_marker_dialog .input_section .input_row .text_input::placeholder{color:#6a6a6a}.text_marker_dialog .input_section .input_row .add_to_favorite_btn{color:#ffc107;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.text_marker_dialog .input_section .input_row .add_to_favorite_btn:hover:not(:disabled){background:#3c3c3f}.text_marker_dialog .input_section .input_row .add_to_favorite_btn:disabled{color:#4a4a4d;cursor:not-allowed}.text_marker_dialog .favorites_section{padding:0 16px 16px}.text_marker_dialog .favorites_section .favorites_header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.text_marker_dialog .favorites_section .favorites_header .favorites_title{color:#a0a0a0;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;display:flex}.text_marker_dialog .favorites_section .favorites_header .favorites_title svg{color:#ffc107}.text_marker_dialog .favorites_section .favorites_header .shortcut_hint{text-align:right;color:#6a6a6a;flex:1;margin-right:8px;font-size:11px}.text_marker_dialog .favorites_section .favorites_header .manage_btn{color:#a0a0a0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.text_marker_dialog .favorites_section .favorites_header .manage_btn:hover{color:#fff;background:#4a4a4d}.text_marker_dialog .favorites_section .favorites_list{background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;max-height:200px;overflow-y:auto}.text_marker_dialog .favorites_section .favorites_list .empty_favorites{text-align:center;color:#6a6a6a;padding:24px;font-size:13px}.text_marker_dialog .favorites_section .favorites_list .favorite_item{color:#e0e0e0;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #3c3c3f;align-items:center;width:100%;padding:10px 12px;transition:background .2s;display:flex}.text_marker_dialog .favorites_section .favorites_list .favorite_item:last-child{border-bottom:none}.text_marker_dialog .favorites_section .favorites_list .favorite_item:hover{background:#3c3c3f}.text_marker_dialog .favorites_section .favorites_list .favorite_item .favorite_index{background:#4a4a4d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:10px;font-size:11px;display:flex}.text_marker_dialog .favorites_section .favorites_list .favorite_item .favorite_text{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.text_marker_dialog .manage_section{padding:16px}.text_marker_dialog .manage_section .favorites_manage_list{background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;max-height:250px;margin-bottom:12px;overflow-y:auto}.text_marker_dialog .manage_section .favorites_manage_list .empty_favorites{text-align:center;color:#6a6a6a;padding:24px;font-size:13px}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item{border-bottom:1px solid #3c3c3f;align-items:center;padding:10px 12px;display:flex}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item:last-child{border-bottom:none}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item .favorite_index{background:#4a4a4d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:10px;font-size:11px;display:flex}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item .favorite_text{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item .remove_btn{color:#a0a0a0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:8px;padding:4px;transition:all .2s;display:flex}.text_marker_dialog .manage_section .favorites_manage_list .favorite_manage_item .remove_btn:hover{color:#fff;background:#dc2626}.text_marker_dialog .manage_section .add_favorite_row{gap:8px;display:flex}.text_marker_dialog .manage_section .add_favorite_row .new_favorite_input{color:#e0e0e0;background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;outline:none;flex:1;padding:10px 12px;font-size:14px;transition:border-color .2s}.text_marker_dialog .manage_section .add_favorite_row .new_favorite_input:focus{border-color:#4fc3f7}.text_marker_dialog .manage_section .add_favorite_row .new_favorite_input::placeholder{color:#6a6a6a}.text_marker_dialog .manage_section .add_favorite_row .add_btn{color:#1e1e1e;cursor:pointer;background:#4fc3f7;border:none;border-radius:4px;align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.text_marker_dialog .manage_section .add_favorite_row .add_btn:hover:not(:disabled){background:#29b6f6}.text_marker_dialog .manage_section .add_favorite_row .add_btn:disabled{color:#6a6a6a;cursor:not-allowed;background:#4a4a4d}.text_marker_dialog .dialog_buttons{background:#3c3c3f;border-top:1px solid #4a4a4d;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.text_marker_dialog .dialog_buttons button{cursor:pointer;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.text_marker_dialog .dialog_buttons .cancel_btn{color:#e0e0e0;background:#4a4a4d}.text_marker_dialog .dialog_buttons .cancel_btn:hover{background:#5a5a5d}.text_marker_dialog .dialog_buttons .confirm_btn{color:#1e1e1e;background:#4fc3f7}.text_marker_dialog .dialog_buttons .confirm_btn:hover{background:#29b6f6}.text_marker_dialog .favorites_list::-webkit-scrollbar{width:6px}.text_marker_dialog .favorites_manage_list::-webkit-scrollbar{width:6px}.text_marker_dialog .favorites_list::-webkit-scrollbar-track{background:#1e1e1e}.text_marker_dialog .favorites_manage_list::-webkit-scrollbar-track{background:#1e1e1e}.text_marker_dialog .favorites_list::-webkit-scrollbar-thumb{background:#4a4a4d;border-radius:3px}.text_marker_dialog .favorites_manage_list::-webkit-scrollbar-thumb{background:#4a4a4d;border-radius:3px}.text_marker_dialog .favorites_list::-webkit-scrollbar-thumb:hover{background:#5a5a5d}.text_marker_dialog .favorites_manage_list::-webkit-scrollbar-thumb:hover{background:#5a5a5d}.calibration_dialog_overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calibration_dialog{background:var(--color-bg-secondary,#2a2a2a);border:1px solid var(--color-border,#3a3a3a);border-radius:8px;min-width:360px;max-width:420px;overflow:hidden;box-shadow:0 8px 32px #0006}.calibration_dialog .dialog_header{background:var(--color-bg-tertiary,#333);border-bottom:1px solid var(--color-border,#3a3a3a);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.calibration_dialog .dialog_header span{color:var(--color-text-primary,#fff);font-size:14px;font-weight:600}.calibration_dialog .dialog_header .close_btn{width:28px;height:28px;color:var(--color-text-secondary,#aaa);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.calibration_dialog .dialog_header .close_btn:hover{background:var(--color-bg-hover,#444);color:var(--color-text-primary,#fff)}.calibration_dialog .dialog_content{flex-direction:column;gap:16px;padding:20px;display:flex}.calibration_dialog .dialog_content .measured_info{background:var(--color-bg-tertiary,#333);border:1px solid var(--color-border,#3a3a3a);border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.calibration_dialog .dialog_content .measured_info label{color:var(--color-text-secondary,#aaa);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.calibration_dialog .dialog_content .measured_info .measured_value{color:var(--color-primary,#4a9eff);font-size:18px;font-weight:600}.calibration_dialog .dialog_content .input_section{flex-direction:column;gap:8px;display:flex}.calibration_dialog .dialog_content .input_section label{color:var(--color-text-primary,#fff);font-size:13px;font-weight:500}.calibration_dialog .dialog_content .input_section .input_row{gap:8px;display:flex}.calibration_dialog .dialog_content .input_section .input_row .distance_input{border:1px solid var(--color-border,#3a3a3a);background:var(--color-bg-tertiary,#333);color:var(--color-text-primary,#fff);border-radius:6px;outline:none;flex:1;padding:10px 12px;font-size:14px;transition:border-color .2s}.calibration_dialog .dialog_content .input_section .input_row .distance_input:focus{border-color:var(--color-primary,#4a9eff)}.calibration_dialog .dialog_content .input_section .input_row .distance_input::placeholder{color:var(--color-text-muted,#666)}.calibration_dialog .dialog_content .input_section .input_row .distance_input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calibration_dialog .dialog_content .input_section .input_row .distance_input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calibration_dialog .dialog_content .input_section .input_row .distance_input{-moz-appearance:textfield}.calibration_dialog .dialog_content .input_section .input_row .unit_select{border:1px solid var(--color-border,#3a3a3a);background:var(--color-bg-tertiary,#333);width:80px;color:var(--color-text-primary,#fff);cursor:pointer;border-radius:6px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.calibration_dialog .dialog_content .input_section .input_row .unit_select:focus{border-color:var(--color-primary,#4a9eff)}.calibration_dialog .dialog_content .input_section .input_row .unit_select option{background:var(--color-bg-secondary,#2a2a2a);color:var(--color-text-primary,#fff)}.calibration_dialog .dialog_content .scale_preview{background:#4a9eff1a;border:1px solid #4a9eff4d;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.calibration_dialog .dialog_content .scale_preview label{color:var(--color-text-secondary,#aaa);font-size:12px}.calibration_dialog .dialog_content .scale_preview .scale_value{color:var(--color-primary,#4a9eff);font-size:14px;font-weight:600}.calibration_dialog .dialog_content .info_message{background:#ffc1071a;border:1px solid #ffc1074d;border-radius:6px;padding:10px 12px}.calibration_dialog .dialog_content .info_message p{color:var(--color-text-secondary,#aaa);margin:0;font-size:12px;line-height:1.5}.calibration_dialog .dialog_buttons{border-top:1px solid var(--color-border,#3a3a3a);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.calibration_dialog .dialog_buttons button{cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.calibration_dialog .dialog_buttons button.cancel_btn{background:var(--color-bg-tertiary,#333);color:var(--color-text-primary,#fff)}.calibration_dialog .dialog_buttons button.cancel_btn:hover{background:var(--color-bg-hover,#444)}.calibration_dialog .dialog_buttons button.confirm_btn{background:var(--color-primary,#4a9eff);color:#fff}.calibration_dialog .dialog_buttons button.confirm_btn:hover:not(:disabled){background:var(--color-primary-hover,#3a8eef)}.calibration_dialog .dialog_buttons button.confirm_btn:disabled{opacity:.5;cursor:not-allowed}.marker_dialog_overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.marker_dialog{color:#e0e0e0;background:#2d2d30;border-radius:8px;min-width:360px;max-width:480px;overflow:hidden;box-shadow:0 4px 20px #0006}.marker_dialog .dialog_header{background:#3c3c3f;border-bottom:1px solid #4a4a4d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.marker_dialog .dialog_header span{font-size:14px;font-weight:500}.marker_dialog .dialog_header .close_btn{color:#a0a0a0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.marker_dialog .dialog_header .close_btn:hover{color:#fff;background:#4a4a4d}.marker_dialog .type_tabs{background:#252527;border-bottom:1px solid #4a4a4d;display:flex}.marker_dialog .type_tabs .type_tab{color:#a0a0a0;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 12px;font-size:12px;font-weight:500;transition:all .2s}.marker_dialog .type_tabs .type_tab:hover{color:#e0e0e0;background:#3c3c3f}.marker_dialog .type_tabs .type_tab.active{color:#fff;background:#2d2d30}.marker_dialog .style_options{background:#252527;border-bottom:1px solid #4a4a4d;align-items:center;gap:16px;padding:12px 16px;display:flex}.marker_dialog .style_options .style_option{align-items:center;gap:8px;display:flex}.marker_dialog .style_options .style_option label{color:#a0a0a0;white-space:nowrap;font-size:11px}.marker_dialog .style_options .style_option .preset_buttons{gap:4px;display:flex}.marker_dialog .style_options .style_option .preset_buttons .preset_btn{color:#a0a0a0;cursor:pointer;background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;min-width:32px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .15s}.marker_dialog .style_options .style_option .preset_buttons .preset_btn:hover{color:#e0e0e0;background:#3c3c3f;border-color:#6a6a6d}.marker_dialog .style_options .style_option .preset_buttons .preset_btn.active{color:#4fc3f7;background:#2a4a6a;border-color:#4fc3f7}.marker_dialog .style_options .preview_section{border-left:1px solid #4a4a4d;align-items:center;gap:8px;margin-left:auto;padding-left:16px;display:flex}.marker_dialog .style_options .preview_section .preview_label{color:#6a6a6a;font-size:11px}.marker_dialog .style_options .preview_section .marker_preview{text-align:center;background:#000000b3;border-radius:4px;min-width:40px;padding:4px 8px;font-weight:700;transition:all .2s}.marker_dialog .marker_section{min-height:120px;padding:16px}.marker_dialog .marker_grid_section .marker_grid{gap:10px;display:grid}.marker_dialog .marker_grid_section .marker_grid.large{grid-template-columns:repeat(2,1fr)}.marker_dialog .marker_grid_section .marker_btn{color:#e0e0e0;cursor:pointer;background:#1e1e1e;border:2px solid #4a4a4d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;transition:all .2s;display:flex}.marker_dialog .marker_grid_section .marker_btn:hover{background:#3c3c3f;border-color:#6a6a6d}.marker_dialog .marker_grid_section .marker_btn.selected{background:#2a4a6a;border-color:#4fc3f7}.marker_dialog .marker_grid_section .marker_btn .marker_index{color:#6a6a6a;margin-bottom:4px;font-size:10px}.marker_dialog .marker_grid_section .marker_btn .marker_text{font-size:24px;font-weight:700}.marker_dialog .marker_grid_section .shortcut_hint{color:#6a6a6a;text-align:center;margin-top:12px;font-size:11px}.marker_dialog .spine_section{max-height:300px;overflow-y:auto}.marker_dialog .spine_section .spine_group{margin-bottom:12px}.marker_dialog .spine_section .spine_group:last-child{margin-bottom:0}.marker_dialog .spine_section .spine_group .spine_group_label{color:#95e1d3;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.marker_dialog .spine_section .spine_group .marker_grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.marker_dialog .spine_section .spine_group .spine_btn{color:#e0e0e0;cursor:pointer;background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;padding:8px 4px;font-size:12px;font-weight:500;transition:all .2s}.marker_dialog .spine_section .spine_group .spine_btn:hover{background:#3c3c3f;border-color:#95e1d3}.marker_dialog .spine_section .spine_group .spine_btn.selected{color:#95e1d3;background:#1a3d3d;border-color:#95e1d3}.marker_dialog .custom_input_section .custom_input{color:#e0e0e0;background:#1e1e1e;border:1px solid #4a4a4d;border-radius:4px;outline:none;width:100%;padding:12px 14px;font-size:16px;transition:border-color .2s}.marker_dialog .custom_input_section .custom_input:focus{border-color:plum}.marker_dialog .custom_input_section .custom_input::placeholder{color:#6a6a6a}.marker_dialog .dialog_buttons{background:#3c3c3f;border-top:1px solid #4a4a4d;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.marker_dialog .dialog_buttons button{cursor:pointer;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.marker_dialog .dialog_buttons .cancel_btn{color:#e0e0e0;background:#4a4a4d}.marker_dialog .dialog_buttons .cancel_btn:hover{background:#5a5a5d}.marker_dialog .dialog_buttons .confirm_btn{color:#1e1e1e;background:#4fc3f7}.marker_dialog .dialog_buttons .confirm_btn:hover:not(:disabled){background:#29b6f6}.marker_dialog .dialog_buttons .confirm_btn:disabled{color:#6a6a6a;cursor:not-allowed;background:#4a4a4d}.marker_dialog .spine_section::-webkit-scrollbar{width:6px}.marker_dialog .spine_section::-webkit-scrollbar-track{background:#1e1e1e}.marker_dialog .spine_section::-webkit-scrollbar-thumb{background:#4a4a4d;border-radius:3px}.marker_dialog .spine_section::-webkit-scrollbar-thumb:hover{background:#5a5a5d}
