.editor-toolbar-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;margin-bottom:12px;padding:4px 8px}.editor-toolbar{flex-wrap:nowrap;align-items:center;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.editor-toolbar.sticky{z-index:100;border-left:none;border-right:none;border-radius:0;margin-top:0;position:sticky;top:0}.editor-toolbar.floating-toolbar{z-index:100;border-radius:0 0 var(--radius-md) var(--radius-md);margin-top:0;position:sticky;top:0}.editor-toolbar-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;transition:background-color .1s,color .1s;display:inline-flex}.editor-toolbar-btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary)}.editor-toolbar-btn.is-active{background:color-mix(in srgb, var(--color-primary) 15%, var(--color-surface));color:var(--color-primary)}.editor-toolbar-btn.is-active:hover{background:color-mix(in srgb, var(--color-primary) 25%, var(--color-surface))}.editor-toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.editor-toolbar-btn.toolbar-btn-with-text{width:auto;min-width:70px;font-size:var(--text-xs);gap:6px;padding:4px 10px}.editor-toolbar-btn.toolbar-btn-with-text svg{flex-shrink:0;width:14px;height:14px}.toolbar-select{height:28px;font-size:var(--text-xs);color:var(--color-text);background:var(--color-editor-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;outline:none;max-width:110px;padding:0 4px;transition:border-color .1s}.toolbar-select--narrow{max-width:64px}.toolbar-select:hover{border-color:color-mix(in srgb, var(--color-primary) 50%, var(--color-border))}.toolbar-select:focus{border-color:var(--color-primary)}.editor-toolbar-divider{background:var(--color-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}@media (width<=768px){.editor-toolbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:none}.editor-toolbar::-webkit-scrollbar{display:none}.editor-toolbar-btn{flex-shrink:0;width:34px;height:34px}.editor-toolbar-btn.toolbar-btn-with-text{width:auto;min-height:34px}}.bsp-leaf-vertical-panel,.base-editor-standalone.vertical-writing{overflow:hidden}.bsp-leaf-vertical-panel .base-editor-standalone,.base-editor-standalone.vertical-writing{writing-mode:horizontal-tb!important;flex:1 1 0!important;height:100%!important;min-height:0!important;position:relative!important;overflow:visible!important}.bsp-leaf-vertical-panel .base-editor-standalone>div,.base-editor-standalone.vertical-writing>div{writing-mode:vertical-rl;overflow:auto hidden;position:absolute!important;inset:0!important}.bsp-leaf-vertical-panel .ProseMirror,.base-editor-standalone.vertical-writing .ProseMirror{outline:none;min-width:100%;padding:8px 12px;writing-mode:vertical-rl!important;text-orientation:upright!important;height:100%!important;min-height:0!important;overflow:visible!important}.bsp-leaf-vertical-panel .ProseMirror>p.is-editor-empty:first-child:before,.base-editor-standalone.vertical-writing .ProseMirror>p.is-editor-empty:first-child:before{writing-mode:vertical-rl;float:none;height:auto;position:absolute;top:10px;right:12px}.bsp-leaf-vertical-panel .ProseMirror ul,.bsp-leaf-vertical-panel .ProseMirror ol,.base-editor-standalone.vertical-writing .ProseMirror ul,.base-editor-standalone.vertical-writing .ProseMirror ol{padding-top:1.5em;padding-left:0}.bsp-leaf-vertical-panel .ProseMirror ul[data-type=taskList],.base-editor-standalone.vertical-writing .ProseMirror ul[data-type=taskList]{padding-top:0;padding-left:0;list-style:none}.bsp-leaf-vertical-panel .ProseMirror ul[data-type=taskList] li,.base-editor-standalone.vertical-writing .ProseMirror ul[data-type=taskList] li{writing-mode:horizontal-tb;text-orientation:mixed;align-items:flex-start;gap:6px;display:flex}.bsp-leaf-vertical-panel .ProseMirror ul[data-type=taskList] li>div,.base-editor-standalone.vertical-writing .ProseMirror ul[data-type=taskList] li>div{writing-mode:horizontal-tb;text-orientation:mixed;flex:auto;min-width:0}.bsp-leaf-vertical-panel .ProseMirror blockquote,.base-editor-standalone.vertical-writing .ProseMirror blockquote{border-left:none;border-top:3px solid var(--color-primary);padding:1em 0 .4em}.bsp-leaf-vertical-panel .ProseMirror [style*="text-align: left"],.base-editor-standalone.vertical-writing .ProseMirror [style*="text-align: left"]{text-align:left}.bsp-leaf-vertical-panel .ProseMirror h1,.bsp-leaf-vertical-panel .ProseMirror h2,.bsp-leaf-vertical-panel .ProseMirror h3,.base-editor-standalone.vertical-writing .ProseMirror h1,.base-editor-standalone.vertical-writing .ProseMirror h2,.base-editor-standalone.vertical-writing .ProseMirror h3{margin:0 .3em}.bsp-leaf-fill.bsp-leaf-vertical-panel{height:var(--leaf-viewport-h,100%)!important;max-height:var(--leaf-viewport-h,100%)!important;flex:1 1 0!important;overflow-y:hidden!important}.bsp-leaf-fill.bsp-leaf-vertical-panel .base-editor-standalone{flex:1 1 0!important;height:100%!important;overflow:visible!important}.ProseMirror ul[data-type=taskList] li .recurring-task-badge{border-radius:var(--radius-full);white-space:nowrap;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, transparent);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;margin-left:6px;padding:1px 8px;font-size:.7em;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.ProseMirror ul[data-type=taskList] li[data-checked=true] .recurring-task-badge{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 14%, transparent)}._ectb-panel_yljww_9{z-index:8000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:max-content;min-width:200px;max-width:90vw;animation:.12s ease-out _ectb-in_yljww_1;position:fixed;overflow:visible;box-shadow:0 4px 6px -1px #0000001a,0 10px 28px -4px #00000026}@keyframes _ectb-in_yljww_1{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}._ectb-header_yljww_55{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:4px;padding:5px 6px 5px 10px;display:flex}._ectb-preset-toggle_yljww_75{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex:1;align-items:center;gap:4px;min-width:0;padding:3px 4px;transition:background .12s;display:flex}._ectb-preset-toggle_yljww_75:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}._ectb-preset-name_yljww_107{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}._ectb-chevron_yljww_123{color:var(--color-text-secondary);flex-shrink:0;align-items:center;transition:transform .15s;display:flex}._ectb-chevron--open_yljww_137{transform:rotate(180deg)}._ectb-close-btn_yljww_147{cursor:pointer;border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}._ectb-close-btn_yljww_147:hover{background:color-mix(in srgb, var(--color-error) 10%, transparent);color:var(--color-error)}._ectb-preset-picker_yljww_187{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:1px;padding:4px 6px;animation:.1s ease-out _ectb-in_yljww_1;display:flex}._ectb-preset-item_yljww_205{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);color:var(--color-text);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:5px 8px;font-family:inherit;transition:background .1s;display:flex}._ectb-preset-item_yljww_205:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}._ectb-preset-item--active_yljww_241{color:var(--color-primary);font-weight:600}._ectb-preset-item--active_yljww_241:hover{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface))}._ectb-toolbar_yljww_261._editor-toolbar_yljww_259{border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:none;border:none;flex-wrap:nowrap;max-width:none;margin-bottom:0;padding:6px 8px;overflow-x:auto}._estb-panel_th4w8_9{z-index:8001;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:2px;width:max-content;min-width:150px;max-width:90vw;padding:3px 6px;animation:.1s ease-out _estb-in_th4w8_1;display:flex;position:fixed;box-shadow:0 2px 4px -1px #00000014,0 6px 20px -3px #00000024}@keyframes _estb-in_th4w8_1{0%{opacity:0;transform:scale(.95)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}._estb-preset-toggle_th4w8_61{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-items:center;gap:3px;padding:3px 5px;transition:background .12s;display:flex}._estb-preset-toggle_th4w8_61:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}._estb-preset-name_th4w8_91{font-size:var(--text-2xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-weight:600;overflow:hidden}._estb-chevron_th4w8_109{color:var(--color-text-secondary);align-items:center;transition:transform .15s;display:flex}._estb-chevron--open_th4w8_121{transform:rotate(180deg)}._estb-sep_th4w8_127{background:var(--color-border);flex-shrink:0;width:1px;height:18px;margin:0 2px}._estb-toolbar_th4w8_145._editor-toolbar_th4w8_145{box-shadow:none;background:0 0;border:none;flex-wrap:nowrap;gap:2px;margin:0;padding:0;overflow-x:auto}._estb-preset-picker_th4w8_169{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1;flex-direction:column;gap:1px;min-width:140px;padding:4px 5px;animation:.1s ease-out _estb-in_th4w8_1;display:flex;position:absolute;top:calc(100% + 4px);left:0}._estb-preset-item_th4w8_201{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);color:var(--color-text);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:5px 8px;font-family:inherit;transition:background .1s;display:flex}._estb-preset-item_th4w8_201:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}._estb-preset-item--active_th4w8_237{color:var(--color-primary);font-weight:600}.thm-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.thm-modal{background:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:min(560px,92vw);max-height:85vh;display:flex;overflow:hidden}.thm-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.thm-header__title{font-weight:700;font-size:var(--text-base);color:var(--color-text);align-items:center;gap:7px;display:flex}.thm-header__title svg{color:var(--color-text-secondary);flex-shrink:0}.thm-btn-close{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.thm-btn-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.thm-body{flex:1;padding:8px 0 16px;overflow-y:auto}.thm-section{margin-bottom:4px}.thm-section-title{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;padding:8px 18px 4px;font-weight:600}.thm-list{margin:0;padding:0;list-style:none}.thm-item{border-radius:var(--radius-sm);flex-direction:column;gap:2px;margin:0 6px;padding:6px 18px;transition:background .1s;display:flex}.thm-item:hover{background:var(--color-surface-hover)}.thm-item-header{align-items:center;gap:8px;display:flex}.thm-item-icon{background:var(--color-surface);border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-text);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.thm-item-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600;line-height:1.3}.thm-item-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.45}.thm-item-note{color:var(--color-warning);font-size:var(--text-2xs)}._ehp-backdrop_9jdey_6{z-index:9998;background:0 0;position:fixed;inset:0}._ehp-panel_9jdey_14{z-index:9999;background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;width:280px;animation:.2s _ehp-slide-in_9jdey_1;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 16px #0000001f}@keyframes _ehp-slide-in_9jdey_1{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}._ehp-header_9jdey_35{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}._ehp-title_9jdey_44{font-size:var(--text-sm);color:var(--color-text);font-weight:600}._ehp-close_9jdey_50{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}._ehp-close_9jdey_50:hover{background:var(--color-surface-hover);color:var(--color-text)}._ehp-body_9jdey_71{flex:1;padding:8px 0 16px;overflow-y:auto}._ehp-section_9jdey_78{margin-bottom:4px}._ehp-section-title_9jdey_82{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;padding:8px 14px 4px;font-weight:600}._ehp-list_9jdey_93{margin:0;padding:0;list-style:none}._ehp-item_9jdey_99{border-radius:var(--radius-sm);flex-direction:column;gap:1px;margin:0 4px;padding:5px 14px;transition:background .1s;display:flex}._ehp-item_9jdey_99:hover{background:var(--color-surface-hover)}._ehp-item-label_9jdey_113{font-size:var(--text-xs);color:var(--color-text);font-weight:500;line-height:1.3}._ehp-item-desc_9jdey_120{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}._ehp-item-note_9jdey_126{color:var(--color-warning);font-size:var(--text-2xs)}._ehp-toggle_9jdey_132{border-radius:var(--radius-sm);cursor:pointer;width:22px;height:22px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}._ehp-toggle_9jdey_132:hover{background:var(--color-surface-hover);color:var(--color-text)}._ehp-toggle--active_9jdey_153{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary)}.geo-tool-root{--color-background-primary:var(--color-background,#fff);--color-background-secondary:var(--color-surface,#f8fafc);--color-background-tertiary:color-mix(in srgb, var(--color-surface,#f1f5f9) 70%, var(--color-background,#fff) 30%);--color-text-primary:var(--color-text,#1e293b);--color-text-secondary:var(--color-text-secondary,#475569);--color-border-tertiary:var(--color-border,#0000001f);--geo-accent:var(--color-primary,#6366f1);--geo-canvas-bg:var(--color-background,#fff);--geo-grid-minor:color-mix(in srgb, var(--color-border) 55%, var(--color-background));--geo-grid-major:color-mix(in srgb, var(--color-border) 80%, var(--color-text-secondary) 20%);--geo-grid-axis:var(--color-text-secondary);--geo-axis-label:var(--color-text-secondary);--geo-selection-fill:color-mix(in srgb, var(--geo-accent) 12%, transparent);--geo-selection-stroke:color-mix(in srgb, var(--geo-accent) 55%, transparent);--geo-pending-fill:color-mix(in srgb, var(--color-warning) 14%, transparent);--geo-pending-stroke:color-mix(in srgb, var(--color-warning) 55%, transparent);--geo-point-stroke:var(--color-background);--geo-default-stroke:var(--color-text);--geo-midpoint:var(--color-error);--geo-perp:var(--color-secondary,var(--color-purple,#7c3aed));--font-sans:"Noto Sans JP", system-ui, sans-serif;--font-mono:ui-monospace, monospace;--font-serif:Georgia, serif;width:100%;height:100%;min-height:0;font-family:var(--font-sans);background:var(--color-background-tertiary);color:var(--color-text-primary);display:flex;overflow:hidden}.geo-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.geo-toolbar{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);scrollbar-width:none;flex-shrink:0;align-items:center;gap:0;height:52px;padding:0 8px;display:flex;overflow-x:auto}.geo-toolbar::-webkit-scrollbar{display:none}.geo-toolbar__logo{color:var(--geo-accent);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:0 8px 0 4px;font-size:14px;font-weight:600;display:flex}.geo-toolbar__logo-text{font-family:var(--font-serif)}.geo-toolbar__sep{background:var(--color-border-tertiary);flex-shrink:0;width:.5px;height:28px;margin:0 6px}.geo-toolbar__group{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;padding:3px 4px;display:flex}.geo-toolbar__group-label{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding-left:2px;font-size:8.5px}.geo-toolbar__group-tools{align-items:center;gap:1px;display:flex}.geo-tbtn{cursor:pointer;min-width:42px;height:30px;color:var(--color-text-primary);white-space:nowrap;background:0 0;border:.5px solid #0000;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1px;padding:0 5px;transition:background .1s,border-color .1s,color .1s;display:flex}.geo-tbtn:hover:not(.geo-tbtn--active):not(:disabled){background:color-mix(in srgb, var(--geo-accent) 8%, transparent);color:var(--geo-accent)}.geo-tbtn:disabled{opacity:.3;cursor:not-allowed}.geo-tbtn--active{border-color:var(--geo-accent);background:color-mix(in srgb, var(--geo-accent) 12%, transparent);color:var(--geo-accent)}.geo-tbtn--primary{border-color:var(--geo-accent);background:var(--geo-accent);color:#fff}.geo-tbtn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--geo-accent) 82%, #000)!important;color:#fff!important}.geo-tbtn--success{color:#fff;background:#10b981;border-color:#10b981}.geo-tbtn--success:hover:not(:disabled){color:#fff!important;background:#059669!important}.geo-tbtn--danger:hover:not(:disabled){color:#ef4444!important;background:#ef444412!important;border-color:#ef44444d!important}.geo-tbtn__icon{font-size:14px;line-height:1}.geo-tbtn__label{letter-spacing:.02em;font-size:9px;line-height:1}.geo-sidebar{background:var(--color-background-primary);border-right:.5px solid var(--color-border-tertiary);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.geo-ctx__header{border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0;padding:10px 13px 8px}.geo-ctx__title{color:var(--color-text-primary);font-size:13px;font-weight:500;font-family:var(--font-serif);font-style:italic}.geo-ctx__sub{color:var(--color-text-secondary);font-size:10.5px;font-family:var(--font-mono);margin-top:2px;line-height:1.5}.geo-ctx__body{flex-direction:column;gap:11px;padding:10px 13px 12px;display:flex}.geo-quick-row{gap:4px;display:flex}.geo-quick-btn{border:.5px solid var(--color-border-tertiary);cursor:pointer;color:var(--color-text-secondary);text-align:center;background:0 0;border-radius:6px;flex:1;padding:5px 2px;font-size:9.5px;line-height:1.5;transition:all .1s}.geo-quick-btn:hover{border-color:var(--geo-accent);color:var(--geo-accent)}.geo-quick-btn--on{background:color-mix(in srgb, var(--geo-accent) 10%, transparent);border-color:var(--geo-accent);color:var(--geo-accent);font-weight:500}.geo-section-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;font-size:9.5px;font-weight:500}.geo-input{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);width:100%;color:var(--color-text-primary);box-sizing:border-box;font-size:12px;font-family:var(--font-sans);border-radius:5px;outline:none;padding:5px 7px;transition:border-color .1s,box-shadow .1s}.geo-input:focus{border-color:var(--geo-accent);box-shadow:0 0 0 2.5px color-mix(in srgb, var(--geo-accent) 14%, transparent)}.geo-input::placeholder{color:var(--color-text-secondary);opacity:.6}.geo-input-hint{color:var(--color-text-secondary);margin-top:3px;font-size:10px}.geo-palette{flex-wrap:wrap;gap:4px;display:flex}.geo-swatch{cursor:pointer;border:none;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:box-shadow .12s,transform .1s}.geo-swatch:hover{transform:scale(1.18)}.geo-color-input{border:.5px solid var(--color-border-tertiary);cursor:pointer;box-sizing:border-box;border-radius:4px;width:100%;height:22px;margin-top:5px;padding:1px}.geo-btn{border:.5px solid var(--color-border-tertiary);color:var(--color-text-primary);cursor:pointer;font-size:11px;font-family:var(--font-sans);background:0 0;border-radius:6px;padding:6px 10px;transition:background .1s}.geo-btn:hover{background:var(--color-background-secondary)}.geo-btn--primary{border-color:var(--geo-accent);background:var(--geo-accent);color:#fff;font-weight:500}.geo-btn--primary:hover{background:color-mix(in srgb, var(--geo-accent) 82%, #000)!important}.geo-delete-btn{color:#ef4444;cursor:pointer;width:100%;font-size:11.5px;font-weight:500;font-family:var(--font-sans);background:0 0;border:.5px solid #ef444459;border-radius:6px;padding:6px;transition:background .12s,border-color .12s}.geo-delete-btn:hover{background:#ef444412;border-color:#ef4444}.geo-toggle-label{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.geo-toggle-label--disabled{opacity:.4;cursor:default}.geo-toggle-label:not(.geo-toggle-label--disabled){cursor:pointer}.geo-toggle-text{color:var(--color-text-primary);font-size:11.5px}.geo-toggle-track{border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .15s;position:relative}.geo-toggle-track--on{background:var(--geo-accent)}.geo-toggle-track--off{background:var(--color-border-tertiary,#d1d5db)}.geo-toggle-thumb{background:#fff;border-radius:7px;width:14px;height:14px;transition:left .15s;position:absolute;top:2px;box-shadow:0 1px 3px #0003}.geo-toggle-thumb--on{left:15px}.geo-toggle-thumb--off{left:2px}.geo-check-label{cursor:pointer;color:var(--color-text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.geo-check-label input[type=checkbox]{accent-color:var(--geo-accent);width:12px;height:12px}.geo-slider-row{align-items:center;gap:6px;margin-top:4px;display:flex}.geo-slider-row input[type=range]{accent-color:var(--geo-accent);flex:1}.geo-slider-val{color:var(--color-text-secondary);text-align:right;width:30px;font-size:10.5px}.geo-coord-row{gap:6px;margin-bottom:5px;display:flex}.geo-coord-label{color:var(--color-text-secondary);font-size:10px;font-family:var(--font-serif);margin-bottom:2px;font-style:italic}.geo-center{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.geo-canvas-area{background:var(--color-background-tertiary);flex:1;place-items:center;min-width:0;min-height:0;padding:0;display:grid;overflow:hidden;container-type:size}.geo-canvas-wrap{aspect-ratio:var(--geo-aspect,1.6);width:min(100cqw, calc(100cqh * var(--geo-aspect,1.6)));height:min(100cqh, calc(100cqw / var(--geo-aspect,1.6)));border-radius:6px;max-width:100%;max-height:100%;line-height:0;position:relative;overflow:hidden;box-shadow:0 2px 20px #00000017,0 0 0 .5px #0000001a}@supports not (width:1cqw){.geo-canvas-area{justify-content:center;align-items:center;display:flex;container-type:normal}.geo-canvas-wrap{width:100%;max-width:100%;height:100%;max-height:100%}}.geo-canvas-wrap>div,.geo-canvas-wrap>div>div{width:100%;height:100%}.geo-canvas-area svg{display:block;width:100%!important;height:100%!important}.geo-status{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0;align-items:center;gap:8px;height:34px;padding:0 14px;font-size:11.5px;display:flex}.geo-status__tool--delete{color:#ef4444;font-weight:500}.geo-status__tool--normal{color:var(--geo-accent);font-weight:500}.geo-status__sep{color:var(--color-border-tertiary)}.geo-status__desc{color:var(--color-text-secondary)}.geo-status__badge{background:color-mix(in srgb, var(--geo-accent) 12%, transparent);color:var(--geo-accent);border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:500}.geo-status__cancel{border:.5px solid var(--color-border-tertiary);cursor:pointer;color:var(--color-text-secondary);background:0 0;border-radius:5px;padding:2px 7px;font-size:10.5px}.geo-status__cancel:hover{color:var(--color-text-primary)}.geo-status__right{color:var(--color-text-secondary);font-size:10.5px;font-family:var(--font-mono);align-items:center;gap:10px;margin-left:auto;display:flex}.geo-hint{background:var(--color-background-primary);border-top:.5px solid var(--color-border-tertiary);height:26px;color:var(--color-text-secondary);flex-shrink:0;align-items:center;gap:12px;padding:0 14px;font-size:10.5px;display:flex}.geo-hint__sep{opacity:.3}.geo-fn-chip{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);color:var(--color-text-primary);font-size:10.5px;font-family:var(--font-mono);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 7px;transition:background .1s,border-color .1s,color .1s}.geo-fn-chip:hover{border-color:var(--geo-accent);color:var(--geo-accent);background:color-mix(in srgb, var(--geo-accent) 7%, transparent)}.geo-fn-input{font-family:var(--font-mono);letter-spacing:.02em;font-size:13px}.geo-fn-input--err{border-color:#ef4444!important;box-shadow:0 0 0 2.5px #ef444426!important}.geo-popover{z-index:1000;background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:8px;width:200px;font-size:12px;animation:.12s geoPopoverIn;position:absolute;overflow:hidden;box-shadow:0 8px 20px #0000001f}@keyframes geoPopoverIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.geo-popover__header{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.geo-popover__name{font-size:13px;font-weight:600;font-family:var(--font-serif);font-style:italic}.geo-popover__coord{color:var(--color-text-secondary);font-size:10px;font-family:var(--font-mono);margin-top:2px}.geo-popover__close{cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:background .1s,color .1s;display:flex}.geo-popover__close:hover{color:#ef4444;background:#ef444414}.geo-popover__body{flex-direction:column;gap:12px;padding:12px;display:flex}.draw-geo-modal{background:var(--color-surface,#fff);border-radius:12px;flex-direction:column;width:92vw;max-width:100%;height:92vh;max-height:100%;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}.draw-geo-modal>.geo-tool-root{flex:1;min-height:0}.draw-overlay{z-index:3000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chart-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;width:90vw;max-width:1100px;height:85vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.draw-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.draw-modal-title{color:var(--color-text);font-size:16px;font-weight:600}.draw-close-btn{cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:18px;transition:background .1s,color .1s;display:flex}.draw-close-btn:hover{background:color-mix(in srgb, var(--color-error) 12%, transparent);color:var(--color-error)}.draw-modal-body{background:var(--color-border);flex:1;gap:1px;display:flex;overflow:hidden}.chart-sidebar{background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:16px;width:320px;padding:16px;display:flex;overflow-y:auto}.chart-type-grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.draw-tool-btn{border:1px solid var(--color-border);background:var(--color-editor-background);color:var(--color-text);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:all .1s;display:inline-flex}.draw-tool-btn.active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary)}.draw-tool-btn:hover:not(.active){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.draw-section-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600}.draw-text-input{border:1px solid var(--color-border);background:var(--color-editor-background);width:100%;color:var(--color-text);border-radius:6px;outline:none;padding:6px 8px;font-size:12px;transition:border-color .1s}.draw-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent)}.chart-series-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.chart-series-row{align-items:center;gap:6px;display:flex}.chart-series-color{border:1px solid var(--color-border);cursor:pointer;background:var(--color-editor-background);border-radius:4px;flex-shrink:0;width:28px;height:28px;padding:2px}.draw-action-btn{border:1px solid var(--color-border);background:var(--color-editor-background);cursor:pointer;color:var(--color-text);border-radius:5px;padding:4px 8px;font-size:11px;transition:background .1s}.draw-action-btn:hover{background:var(--color-surface-hover,#f1f5f9)}.draw-action-btn.danger{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 40%, var(--color-border))}.draw-action-btn.danger:hover{background:color-mix(in srgb, var(--color-error) 10%, transparent);border-color:var(--color-error)}.chart-table-scroll{border:1px solid var(--color-border);background:var(--color-editor-background);border-radius:8px;margin-top:4px;overflow-x:auto}.chart-table{border-collapse:collapse;width:100%;font-size:12px}.chart-th,.chart-td{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:left;padding:6px 8px}.chart-th:last-child,.chart-td:last-child{border-right:none}.chart-th{background:var(--color-surface);color:var(--color-text-secondary);font-weight:600}.chart-cell-input{width:100%;color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:4px 6px;font-size:12px;transition:border-color .1s,background .1s}.chart-cell-input:focus{border-color:var(--color-primary);background:var(--color-editor-background)}.chart-cell-input:hover{background:var(--color-surface)}.draw-check-label{color:var(--color-text);cursor:pointer;align-items:center;gap:6px;margin:4px 0;font-size:12px;display:flex}.draw-check-label input{accent-color:var(--color-primary)}.draw-size-row{align-items:center;gap:8px;margin-top:8px;display:flex}.draw-size-input{border:1px solid var(--color-border);background:var(--color-editor-background);width:80px;color:var(--color-text);text-align:center;border-radius:4px;padding:4px 6px;font-size:12px}.draw-grid-size-row{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.draw-canvas-area{background:var(--color-editor-background);flex-direction:column;flex:1;display:flex;overflow:hidden}.draw-canvas-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;padding:8px 12px}.draw-canvas-scroll{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.draw-canvas{background:#fff;border-radius:8px;max-width:100%;height:auto;display:block;box-shadow:0 2px 8px #0000001a}.draw-modal-footer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:flex-end;gap:12px;padding:12px 20px;display:flex}.draw-footer-btn{cursor:pointer;border:1px solid var(--color-border);background:var(--color-editor-background);color:var(--color-text);border-radius:8px;padding:7px 18px;font-size:13px;font-weight:500;transition:all .1s}.draw-footer-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.draw-footer-btn.primary:hover{background:color-mix(in srgb, var(--color-primary) 85%, #000)}.draw-footer-btn:hover:not(.primary){background:var(--color-surface-hover,#f1f5f9)}.chart-studio-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;width:92vw;max-width:1280px;height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.chart-studio-tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .1s}.chart-studio-tab-btn:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-text)}.chart-studio-tab-btn.active,.draw-action-btn.active{background:color-mix(in srgb, var(--color-primary) 14%, transparent);border-color:var(--color-primary);color:var(--color-primary)}.draw-section{flex-direction:column;gap:6px;display:flex}.gce-layout{flex:1;height:100%;display:flex;overflow:hidden}.gce-type-panel{border-right:1px solid var(--color-border);background:var(--color-bg-secondary);flex-direction:column;flex-shrink:0;width:160px;display:flex;overflow-y:auto}.gce-panel-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding:8px 10px 4px;font-size:10px;font-weight:700}.gce-cat-group{border-bottom:1px solid var(--color-border)}.gce-cat-header{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.gce-cat-header:hover{background:var(--color-hover)}.gce-cat-arrow{opacity:.5;font-size:9px}.gce-cat-items{flex-direction:column;padding:2px 0 4px;display:flex}.gce-type-item{cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:0;padding:4px 14px 4px 18px;font-size:12px;transition:background .1s}.gce-type-item:hover{background:var(--color-hover)}.gce-type-active{color:var(--color-primary);font-weight:600;background:color-mix(in srgb, var(--color-primary) 12%, transparent)!important}.gce-center-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:340px;display:flex;overflow:hidden}.gce-data-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gce-opts-section{border-top:1px solid var(--color-border);flex-shrink:0;max-height:280px;overflow-y:auto}.gce-section-bar{border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.gce-section-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.gce-preview-panel{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.gce-preview-scroll{flex:1;justify-content:flex-start;align-items:flex-start;padding:16px;display:flex;overflow:auto}.gce-editor{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gce-table-scroll{flex:1;min-height:0;overflow:auto}.gce-table{border-collapse:collapse;table-layout:auto;min-width:100%;font-size:12px}.gce-th{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border);white-space:nowrap;min-width:90px;padding:0}.gce-th-rownum{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border);width:28px;min-width:28px}.gce-th-add{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);width:28px;padding:0}.gce-th-del{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);width:24px}.gce-th-inner{align-items:center;gap:2px;padding:2px 4px;display:flex}.gce-type-sel{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:9px}.gce-col-name{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:1px 2px;font-size:11px;font-weight:600}.gce-col-name:focus{background:var(--color-hover);border-radius:2px}.gce-col-del{cursor:pointer;color:var(--color-text-secondary);opacity:.5;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.gce-col-del:hover{opacity:1;color:var(--color-error)}.gce-add-col-btn{cursor:pointer;color:var(--color-primary);background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.gce-add-col-btn:hover{opacity:.7}.gce-tr:hover{background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.gce-tr-alt{background:color-mix(in srgb, var(--color-border) 20%, transparent)}.gce-tr-alt:hover{background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.gce-td-rownum{color:var(--color-text-secondary);text-align:center;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);min-width:28px;padding:0 2px;font-size:10px}.gce-td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:80px;padding:0}.gce-td-editing{outline:2px solid var(--color-primary);outline-offset:-2px;position:relative}.gce-td-del{border-bottom:1px solid var(--color-border);width:24px;padding:0}.gce-cell-view{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;max-width:160px;min-height:24px;color:var(--color-text);padding:3px 6px;font-size:12px;overflow:hidden}.gce-cell-view:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.gce-cell-input{width:100%;color:var(--color-text);box-sizing:border-box;background:0 0;border:none;outline:none;min-height:24px;padding:3px 6px;font-size:12px}.gce-row-del-btn{cursor:pointer;color:var(--color-text-secondary);opacity:.4;background:0 0;border:none;width:100%;height:100%;padding:0 4px;font-size:13px}.gce-row-del-btn:hover{opacity:1;color:var(--color-error)}.gce-editor-footer{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.gce-add-row-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;border-radius:4px;padding:3px 8px;font-size:11px}.gce-add-row-btn:hover{background:var(--color-hover)}.gce-count-label{color:var(--color-text-secondary);font-size:10px}.gce-opts{flex-direction:column;gap:6px;padding:8px 10px;display:flex}.gce-opt-row{align-items:center;gap:8px;display:flex}.gce-opt-label{color:var(--color-text-secondary);flex-shrink:0;width:80px;font-size:11px}.gce-opt-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;outline:none;flex:1;padding:3px 6px;font-size:12px}.gce-opt-input:focus{border-color:var(--color-primary)}.gce-opt-sel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:4px;flex:1;padding:3px 4px;font-size:12px}.gce-opt-num{border:1px solid var(--color-border);background:var(--color-bg);width:64px;color:var(--color-text);text-align:right;border-radius:4px;outline:none;padding:3px 6px;font-size:12px}.gce-opt-num:focus{border-color:var(--color-primary)}.gce-opt-raw-section{border-top:1px solid var(--color-border);margin-top:2px;padding-top:6px}.gce-raw-toggle-btn{cursor:pointer;width:100%;color:var(--color-text-secondary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:2px 0;font-size:11px;display:flex}.gce-raw-toggle-btn:hover{color:var(--color-text)}.gce-raw-textarea{border:1px solid var(--color-border);box-sizing:border-box;resize:vertical;background:var(--color-bg);width:100%;color:var(--color-text);border-radius:4px;outline:none;min-height:80px;padding:6px;font-family:monospace;font-size:11px}.gce-raw-textarea:focus{border-color:var(--color-primary)}.gce-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite gce-spin}@keyframes gce-spin{to{transform:rotate(360deg)}}.chart-btn-split{align-items:stretch;display:inline-flex}.chart-btn-arrow{width:12px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0 3px 3px 0;justify-content:center;align-items:center;padding:0;transition:color .1s,background .1s;display:flex}.chart-btn-arrow:hover{color:var(--color-text);background:var(--color-hover)}.chart-type-dd-cat-header{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;transition:background .1s;display:flex}.chart-type-dd-cat-header:hover{background:var(--color-hover)}.chart-type-dd-items{padding:0 0 4px}.chart-type-dd-items .dropdown-item{padding-left:24px}@media (width<=768px){.draw-overlay{align-items:flex-end}.chart-studio-modal{border-radius:14px 14px 0 0;width:100vw;max-width:none;height:94vh}.draw-modal-header{scrollbar-width:none;gap:8px;padding:10px 12px;overflow-x:auto}.draw-modal-header::-webkit-scrollbar{display:none}.geo-main{flex-direction:column-reverse}.geo-sidebar{border-right:none;border-top:.5px solid var(--color-border-tertiary);flex-shrink:0;width:100%;max-height:38vh;overflow-y:auto}.geo-canvas-area{flex:1;min-height:40vh}}.term-editor{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.term-editor__header{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:12px 16px 8px}.term-editor__term-title{color:var(--color-text);margin:0;font-size:1.25rem;font-weight:700}.term-editor__editor-wrap{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-editor-background,var(--color-bg));flex-direction:column;flex:1;min-height:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.term-editor__editor-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.term-editor__toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.term-editor__toolbar .editor-toolbar-wrapper{box-sizing:border-box;background:0 0;border:none;border-radius:0;width:100%;min-width:0;margin:0;padding:4px 8px}.term-editor__toolbar .editor-toolbar{flex-wrap:wrap}.term-editor__body{flex:1;min-height:0;padding:8px 12px;overflow:auto}.term-editor__body .ProseMirror{outline:none;min-height:120px}.term-editor__body .ProseMirror p.is-editor-empty:first-child:before{color:var(--color-text);opacity:.4}.term-editor__body img{max-width:100%;height:auto}.term-editor-modal-overlay{z-index:9000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}body>.modal-overlay:has(.glossary-wiki-pick__list){z-index:1200}.term-editor-modal{background:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(920px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.term-editor-modal--sm{width:min(520px,100%);max-height:min(80vh,640px)}.term-editor-modal-overlay--peek{pointer-events:none;background:0 0;justify-content:flex-end}.term-editor-modal--peek{pointer-events:auto;width:min(560px,100%);max-height:min(92vh,960px);box-shadow:var(--shadow-xl)}.term-editor-modal__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.term-editor-modal__header--draggable{cursor:grab;-webkit-user-select:none;user-select:none}.term-editor-modal__header--draggable:active{cursor:grabbing}.term-editor-modal__title{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:700}.term-editor-modal__header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.term-editor-modal__peek-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;opacity:.85;align-items:center;gap:5px;padding:5px 10px;font-size:.8em;font-weight:600;display:inline-flex}.term-editor-modal__peek-toggle:hover{opacity:1}.term-editor-modal__peek-toggle.is-active{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));opacity:1}.term-editor-modal__close{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.term-editor-modal__close:hover{opacity:1;background:var(--color-surface)}.term-editor-modal__hint{color:var(--color-text);opacity:.6;margin:0;padding:8px 16px 0;font-size:.8em;line-height:1.45}.term-editor-modal__body{flex-direction:column;flex:1;min-height:280px;display:flex;overflow:hidden}.term-editor-modal__body .term-editor{flex:1}.word-index-priority-modal__textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:calc(100% - 32px);min-height:200px;color:var(--color-text);box-sizing:border-box;resize:vertical;margin:8px 16px;padding:10px 12px;font-family:inherit;font-size:.9em;line-height:1.5;display:block}.term-editor-modal__footer{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.term-editor-modal__btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);padding:8px 16px;font-size:.88em;font-weight:600}.term-editor-modal__btn--secondary{background:var(--color-surface);color:var(--color-text)}.term-editor-modal__btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.term-editor-modal__btn:disabled{opacity:.55;cursor:default}.term-register-source__choices{flex-direction:column;gap:8px;padding:4px 16px 8px;display:flex}.term-register-source__choice{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);width:100%;color:var(--color-text);cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.term-register-source__choice:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-bg))}.term-register-source__choice:disabled{opacity:.6;cursor:default}.term-register-source__choice-label{font-size:.92em;font-weight:650}.term-register-source__choice-desc{opacity:.65;font-size:.78em;line-height:1.4}.term-editor-aliases{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:8px;padding:6px 20px 4px;display:flex}.term-editor-aliases__label{font-size:var(--text-2xs);color:var(--color-text-secondary);white-space:nowrap;padding-top:4px;font-weight:600}.term-editor-aliases__chips{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.term-editor-aliases__chip{background:var(--color-primary-bg,#3b82f61f);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-sm);align-items:center;gap:3px;padding:2px 8px 2px 10px;font-weight:500;display:inline-flex}.term-editor-aliases__chip-del{cursor:pointer;color:var(--color-primary);font-size:var(--text-2xs);opacity:.7;background:0 0;border:none;padding:0 1px;line-height:1;transition:opacity .1s}.term-editor-aliases__chip-del:hover{opacity:1}.term-editor-aliases__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text);outline:none;min-width:120px;max-width:180px;padding:2px 8px;transition:border-color .12s}.term-editor-aliases__input:focus{border-color:var(--color-primary)}.term-editor-aliases__add{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;color:var(--color-text-secondary);background:0 0;padding:2px 10px;transition:border-color .12s,color .12s}.term-editor-aliases__add:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.term-editor-aliases__add:disabled{opacity:.4;cursor:not-allowed}.tcm-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tcm-modal{background:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:min(960px,95vw);max-height:88vh;display:flex;overflow:hidden}.tcm-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.tcm-header__title{font-weight:700;font-size:var(--text-base);color:var(--color-text);align-items:center;gap:7px;display:flex}.tcm-header__title svg{color:var(--color-text-secondary);flex-shrink:0}.tcm-header__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.tcm-btn-reset,.tcm-btn-save,.tcm-btn-close{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);align-items:center;gap:5px;font-family:inherit;transition:opacity .15s,background .15s,border-color .15s,color .15s;display:inline-flex}.tcm-btn-reset{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0;padding:5px 11px}.tcm-btn-reset:hover{border-color:var(--color-primary);color:var(--color-primary)}.tcm-btn-save{background:var(--color-primary);color:#fff;border:none;padding:5px 14px;font-weight:600}.tcm-btn-save:hover{opacity:.88}.tcm-btn-close{color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:5px}.tcm-btn-close:hover{background:color-mix(in srgb, var(--color-error) 10%, transparent);color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 30%, transparent)}.tcm-body{flex:1;display:flex;overflow:hidden}.tcm-left{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:1px;width:210px;padding:14px 10px 14px 12px;display:flex;overflow-y:auto}.tcm-col-header{justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 2px;display:flex}.tcm-col-title{font-weight:700;font-size:var(--text-2xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.tcm-add-toggle-btn{border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.tcm-add-toggle-btn:hover,.tcm-add-toggle-btn--active{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-color:var(--color-primary);color:var(--color-primary)}.tcm-add-toggle-icon{align-items:center;transition:transform .2s;display:flex}.tcm-add-toggle-icon--rotate{transform:rotate(45deg)}.tcm-add-preset{background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 20%, var(--color-border));border-radius:var(--radius-md);gap:4px;margin-bottom:6px;padding:8px;display:flex}.tcm-add-preset__input{font-size:var(--text-xs);border:1px solid var(--color-border);background:var(--color-editor-background);color:var(--color-text);border-radius:5px;outline:none;flex:1;min-width:0;padding:5px 7px;font-family:inherit;transition:border-color .15s}.tcm-add-preset__input:focus{border-color:var(--color-primary)}.tcm-add-preset__input::placeholder{color:var(--color-text-secondary);opacity:.7}.tcm-add-preset__btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .15s;display:flex}.tcm-add-preset__btn:disabled{opacity:.35;cursor:default}.tcm-preset-row{border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--color-text);-webkit-user-select:none;user-select:none;align-items:center;gap:1px;padding:6px 7px;transition:background .12s;display:flex}.tcm-preset-row:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.tcm-preset-row--active{color:#fff;background:var(--color-primary)!important}.tcm-preset-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tcm-preset-row__lock{opacity:.5;flex-shrink:0;align-items:center;margin:0 2px;display:flex}.tcm-preset-row--active .tcm-preset-row__lock{opacity:.7;color:#fff}.tcm-icon-btn{cursor:pointer;width:22px;height:22px;color:var(--color-text-secondary);opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:flex}.tcm-preset-row:hover .tcm-icon-btn,.tcm-preset-row--active .tcm-icon-btn{opacity:.7}.tcm-icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 10%, transparent);opacity:1!important}.tcm-icon-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 12%, transparent)!important;color:var(--color-error)!important}.tcm-preset-row--active .tcm-icon-btn{color:#fffc}.tcm-preset-row--active .tcm-icon-btn:hover:not(:disabled){color:#fff!important;background:#fff3!important}.tcm-icon-btn:disabled{cursor:default;opacity:.15!important}.tcm-rename-input{font-size:var(--text-sm);border:1px solid var(--color-primary);background:var(--color-editor-background);color:var(--color-text);border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 5px;font-family:inherit}.tcm-hint{font-size:var(--text-2xs);color:var(--color-text-secondary);align-items:center;gap:4px;margin-top:4px;padding-left:4px;line-height:1.5;display:flex}.tcm-right{flex-direction:column;flex:1;min-width:0;padding:16px 20px;display:flex;overflow-y:auto}.tcm-section-title{font-size:var(--text-sm);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.tcm-section-sub{font-weight:400;font-size:var(--text-2xs);color:var(--color-text-secondary)}.tcm-current-area{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:4px;min-height:52px;margin-bottom:4px;padding:10px;display:flex}.tcm-empty-hint{font-size:var(--text-xs);color:var(--color-text-secondary);padding:4px 2px}.tcm-chip{border:1px solid var(--color-border);background:var(--color-editor-background);font-size:var(--text-xs);cursor:grab;-webkit-user-select:none;user-select:none;color:var(--color-text);border-radius:5px;align-items:center;gap:4px;padding:3px 6px 3px 5px;transition:border-color .1s,opacity .1s,box-shadow .1s;display:inline-flex}.tcm-chip:active{cursor:grabbing}.tcm-chip--divider{background:color-mix(in srgb, var(--color-border) 25%, var(--color-surface));color:var(--color-text-secondary)}.tcm-chip--dragging{opacity:.25}.tcm-chip--over{border-color:var(--color-primary);box-shadow:-3px 0 0 0 var(--color-primary)}.tcm-chip__handle{color:var(--color-text-secondary);opacity:.5;cursor:grab;align-items:center;display:flex}.tcm-chip__divider-icon{color:var(--color-text-secondary);align-items:center;display:flex}.tcm-chip__label{white-space:nowrap;flex:1}.tcm-chip__note{color:var(--color-text-secondary);font-size:9px}.tcm-chip__remove{cursor:pointer;color:var(--color-text-secondary);opacity:.5;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:1px;transition:opacity .12s,color .12s,background .12s;display:flex}.tcm-chip__remove:hover{opacity:1;color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, transparent)}.tcm-add-divider-btn{border:1px dashed var(--color-border);font-size:var(--text-xs);cursor:pointer;color:var(--color-text-secondary);background:0 0;border-radius:5px;align-items:center;gap:5px;padding:3px 9px;font-family:inherit;transition:border-color .15s,color .15s;display:inline-flex}.tcm-add-divider-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tcm-available-area{flex:1;padding:4px 0}.tcm-cat-label{font-size:var(--text-2xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:14px;margin-bottom:5px;font-weight:700}.tcm-cat-label:first-child{margin-top:0}.tcm-btn-grid{flex-wrap:wrap;gap:5px;margin-bottom:2px;display:flex}.tcm-avail-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-editor-background);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.tcm-avail-btn:hover:not(.tcm-avail-btn--added){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-editor-background));color:var(--color-primary)}.tcm-avail-btn--added{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-editor-background));border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.tcm-avail-btn--added:hover{background:color-mix(in srgb, var(--color-error) 12%, var(--color-editor-background));border-color:var(--color-error);color:var(--color-error);text-decoration:line-through}.tcm-avail-btn--added:hover .tcm-avail-btn__check{opacity:0}.tcm-avail-btn__check{align-items:center;transition:opacity .12s;display:flex}.tcm-avail-note{vertical-align:super;font-size:9px}.tcm-no-selection{color:var(--color-text-secondary);font-size:var(--text-base);padding:32px 24px}.tcm-templates-section{border-top:1px solid var(--color-border);margin-top:8px;padding-top:8px}.tcm-templates-toggle{border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:var(--text-xs);color:var(--color-text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:6px 8px;font-weight:600;transition:background .12s,color .12s;display:flex}.tcm-templates-toggle:hover{background:var(--color-hover);color:var(--color-text)}.tcm-templates-toggle span{flex:1}.tcm-templates-list{padding:4px 4px 0}.tcm-template-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--color-text);background:0 0;align-items:center;gap:8px;margin-bottom:4px;padding:7px 8px;transition:background .12s,border-color .12s;display:flex}.tcm-template-card:hover{background:var(--color-hover);border-color:var(--color-primary)}.tcm-template-card__icon{color:var(--color-primary);flex-shrink:0;align-items:center;display:flex}.tcm-template-card__body{flex-direction:column;flex:1;min-width:0;display:flex}.tcm-template-card__name{font-size:var(--text-xs);font-weight:600;line-height:1.3}.tcm-template-card__desc{font-size:var(--text-2xs);color:var(--color-text-secondary);line-height:1.3}.tcm-preset-dropdown{margin-bottom:4px;position:relative}.tcm-preset-dropdown__trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-editor-background);cursor:pointer;width:100%;font-size:var(--text-sm);color:var(--color-text);text-align:left;align-items:center;gap:6px;padding:7px 10px;font-family:inherit;font-weight:600;transition:border-color .15s,background .15s;display:flex}.tcm-preset-dropdown__trigger:hover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-editor-background))}.tcm-preset-dropdown__icon{color:var(--color-text-secondary);flex-shrink:0;align-items:center;display:flex}.tcm-preset-dropdown__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tcm-preset-dropdown__active-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:7px;height:7px}.tcm-preset-dropdown__menu{z-index:100;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.tcm-preset-dropdown__item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);color:var(--color-text);align-items:center;gap:4px;padding:6px 8px;transition:background .1s;display:flex}.tcm-preset-dropdown__item:hover{background:var(--color-hover)}.tcm-preset-dropdown__item--selected{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.tcm-preset-dropdown__item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tcm-preset-dropdown__item-actions{opacity:0;flex-shrink:0;align-items:center;gap:0;transition:opacity .12s;display:flex}.tcm-preset-dropdown__item:hover .tcm-preset-dropdown__item-actions,.tcm-preset-dropdown__item--selected .tcm-preset-dropdown__item-actions{opacity:1}.tcm-preset-dropdown__active-btn{width:22px;height:22px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .12s,background .12s;display:flex}.tcm-preset-dropdown__active-btn:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.tcm-preset-dropdown__active-btn--on{color:var(--color-primary)}.tcm-preset-dropdown__divider{background:var(--color-border);height:1px;margin:4px 2px}.tcm-preset-dropdown__add-btn{border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:var(--text-xs);color:var(--color-primary);text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:7px 10px;font-family:inherit;font-weight:600;transition:background .12s;display:flex}.tcm-preset-dropdown__add-btn:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.tcm-main-preset-group{margin-bottom:2px}.tcm-tab-list{border-left:2px solid var(--color-border);flex-direction:column;gap:1px;margin-top:2px;margin-left:8px;padding-left:12px;display:flex}.tcm-tab-row{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);color:var(--color-text);-webkit-user-select:none;user-select:none;align-items:center;gap:1px;padding:5px 6px;transition:background .12s;display:flex}.tcm-tab-row:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.tcm-tab-row--active{background:color-mix(in srgb, var(--color-primary) 15%, var(--color-surface));color:var(--color-primary);font-weight:600}.tcm-tab-row:hover .tcm-icon-btn,.tcm-tab-row--active .tcm-icon-btn{opacity:.7}.tcm-tab-row--active .tcm-icon-btn{color:var(--color-primary)}.tcm-tab-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tcm-add-tab-btn{border:1px dashed var(--color-border);font-size:var(--text-2xs);cursor:pointer;color:var(--color-text-secondary);background:0 0;border-radius:5px;align-items:center;gap:4px;margin-top:3px;padding:4px 8px;font-family:inherit;transition:border-color .15s,color .15s;display:flex}.tcm-add-tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tcm-preset-row__icon{color:var(--color-text-secondary);opacity:.6;flex-shrink:0;align-items:center;margin-right:3px;display:flex}.tcm-preset-row--active .tcm-preset-row__icon{color:#fffc;opacity:1}.tcm-context-section{border-top:1px solid var(--color-border);margin-top:10px;padding-top:8px}.tcm-context-label{font-size:var(--text-2xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;padding-left:2px;font-weight:700}.tcm-context-picker{flex-direction:column;gap:2px;display:flex}.tcm-context-item{border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--text-xs);cursor:pointer;text-align:left;color:var(--color-text);background:0 0;align-items:center;gap:5px;width:100%;padding:5px 8px;font-family:inherit;transition:border-color .12s,background .12s,color .12s;display:flex}.tcm-context-item:hover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.tcm-context-item--active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);font-weight:600}.tcm-context-item__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tcm-btn-reset--confirm{animation:.8s ease-in-out infinite alternate tcm-pulse;border-color:var(--color-error)!important;background:color-mix(in srgb, var(--color-error) 10%, transparent)!important;color:var(--color-error)!important}@keyframes tcm-pulse{0%{opacity:.85}to{opacity:1}}
