.CharacterGrid_characterGrid__VnZ90{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));grid-gap:10px;gap:10px;padding:20px;max-width:100%;overflow-y:auto}.CharacterGrid_charContainer__TWlrI{position:relative;aspect-ratio:1}.CharacterGrid_charButton__J5zL9{width:100%;height:100%;border-radius:6px;background:linear-gradient(180deg,#f8f9fa,#e9ecef);cursor:pointer;font-size:24px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 0 0 #ced4da,0 4px 8px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8);border:1px solid #dee2e6}.dark-mode .CharacterGrid_charButton__J5zL9{background:linear-gradient(180deg,#3a3a3a,#2d2d2d);box-shadow:0 2px 0 0 #1a1a1a,0 4px 8px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.05);border-color:#4a4a4a}.CharacterGrid_charButton__J5zL9:hover{background:linear-gradient(180deg,#fff,#f1f3f5);box-shadow:0 2px 0 0 #adb5bd,0 6px 12px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.9);transform:translateY(-1px)}.dark-mode .CharacterGrid_charButton__J5zL9:hover{background:linear-gradient(180deg,#4a4a4a,#3a3a3a);box-shadow:0 2px 0 0 #2a2a2a,0 6px 12px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.1)}.CharacterGrid_charButton__J5zL9:active{background:linear-gradient(180deg,#e9ecef,#dee2e6);box-shadow:0 1px 0 0 #ced4da,0 2px 4px rgba(0,0,0,.1),inset 0 2px 4px rgba(0,0,0,.1);transform:translateY(2px)}.dark-mode .CharacterGrid_charButton__J5zL9:active{background:linear-gradient(180deg,#2d2d2d,#1a1a1a);box-shadow:0 1px 0 0 #0a0a0a,0 2px 4px rgba(0,0,0,.3),inset 0 2px 4px rgba(0,0,0,.3)}.CharacterGrid_charButton__J5zL9.CharacterGrid_selected__k2Gi1{background:linear-gradient(180deg,#bbdefb,#90caf9);box-shadow:0 2px 0 0 #42a5f5,0 4px 8px rgba(33,150,243,.3),inset 0 1px 0 hsla(0,0%,100%,.5);border-color:#2196f3}.dark-mode .CharacterGrid_charButton__J5zL9.CharacterGrid_selected__k2Gi1{background:linear-gradient(180deg,#1e3a5f,#1a2f4a);box-shadow:0 2px 0 0 #0d1f35,0 4px 8px rgba(33,150,243,.5),inset 0 1px 0 rgba(100,181,246,.2);border-color:#64b5f6}.CharacterGrid_charButton__J5zL9.CharacterGrid_hasContent__l_3Fr{background:linear-gradient(180deg,#c8e6c9,#a5d6a7);box-shadow:0 2px 0 0 #66bb6a,0 4px 8px rgba(76,175,80,.3),inset 0 1px 0 hsla(0,0%,100%,.5);border-color:#4caf50}.dark-mode .CharacterGrid_charButton__J5zL9.CharacterGrid_hasContent__l_3Fr{background:linear-gradient(180deg,#2d4a2d,#1f3a1f);box-shadow:0 2px 0 0 #0f2a0f,0 4px 8px rgba(76,175,80,.5),inset 0 1px 0 rgba(165,214,167,.2);border-color:#66bb6a}.CharacterGrid_charButton__J5zL9.CharacterGrid_hasContent__l_3Fr.CharacterGrid_selected__k2Gi1{background:linear-gradient(180deg,#bbdefb,#90caf9);box-shadow:0 2px 0 0 #42a5f5,0 4px 8px rgba(33,150,243,.3),inset 0 1px 0 hsla(0,0%,100%,.5);border-color:#2196f3}.dark-mode .CharacterGrid_charButton__J5zL9.CharacterGrid_hasContent__l_3Fr.CharacterGrid_selected__k2Gi1{background:linear-gradient(180deg,#1e3a5f,#1a2f4a);box-shadow:0 2px 0 0 #0d1f35,0 4px 8px rgba(33,150,243,.5),inset 0 1px 0 rgba(100,181,246,.2);border-color:#64b5f6}.CharacterGrid_charDisplay__JsP2E{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:18px;color:#666;margin-bottom:4px}.dark-mode .CharacterGrid_charDisplay__JsP2E{color:#999}.CharacterGrid_charPreview__Yes2N{font-size:32px;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.dark-mode .CharacterGrid_charPreview__Yes2N{color:#e0e0e0}.CharacterGrid_charIndicator__V8Z9Q{position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#4caf50}.dark-mode .CharacterGrid_charIndicator__V8Z9Q{background:#66bb6a}.CharacterGrid_addCharButton__FAfY7{aspect-ratio:1;border:2px dashed #2196f3;border-radius:6px;background:linear-gradient(180deg,#e3f2fd,#bbdefb);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 0 0 #42a5f5,0 4px 8px rgba(33,150,243,.2),inset 0 1px 0 hsla(0,0%,100%,.6)}.dark-mode .CharacterGrid_addCharButton__FAfY7{background:linear-gradient(180deg,#1e3a5f,#1a2f4a);border-color:#64b5f6;box-shadow:0 2px 0 0 #0d1f35,0 4px 8px rgba(33,150,243,.4),inset 0 1px 0 rgba(100,181,246,.2)}.CharacterGrid_addCharButton__FAfY7:hover{background:linear-gradient(180deg,#bbdefb,#90caf9);border-color:#1976d2;box-shadow:0 2px 0 0 #1976d2,0 6px 12px rgba(25,118,210,.3),inset 0 1px 0 hsla(0,0%,100%,.7);transform:translateY(-1px)}.dark-mode .CharacterGrid_addCharButton__FAfY7:hover{background:linear-gradient(180deg,#2d4a6f,#1e3a5f);box-shadow:0 2px 0 0 #0d1f35,0 6px 12px rgba(100,181,246,.4),inset 0 1px 0 rgba(100,181,246,.3)}.CharacterGrid_addCharButton__FAfY7:active{background:linear-gradient(180deg,#90caf9,#64b5f6);box-shadow:0 1px 0 0 #1976d2,0 2px 4px rgba(25,118,210,.2),inset 0 2px 4px rgba(0,0,0,.1);transform:translateY(2px)}.dark-mode .CharacterGrid_addCharButton__FAfY7:active{background:linear-gradient(180deg,#1a2f4a,#0d1f35);box-shadow:0 1px 0 0 #0a0f1a,0 2px 4px rgba(33,150,243,.3),inset 0 2px 4px rgba(0,0,0,.4)}.CharacterGrid_addCharIcon__9zuVN{font-size:32px;font-weight:300;color:#2196f3;line-height:1}.dark-mode .CharacterGrid_addCharIcon__9zuVN{color:#64b5f6}.CharacterGrid_addCharLabel__4OE2o{font-size:12px;font-weight:600;color:#2196f3;margin-top:4px}.dark-mode .CharacterGrid_addCharLabel__4OE2o{color:#64b5f6}@media (min-width:768px){.CharacterGrid_characterGrid__VnZ90{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.CharacterGrid_charButton__J5zL9{font-size:28px}}.FontPreview_fontPreview___cBNA{background:#fff;border-radius:12px;padding:20px;margin:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.dark-mode .FontPreview_fontPreview___cBNA{background:#2d2d2d;box-shadow:0 2px 8px rgba(0,0,0,.4)}.FontPreview_previewControls__SJLyR{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.FontPreview_previewInput___xRDA{flex:1 1;min-width:250px;padding:12px 16px;font-size:16px;border:2px solid #ddd;border-radius:8px;outline:none;transition:border-color .2s}.dark-mode .FontPreview_previewInput___xRDA{background:#3a3a3a;border-color:#4a4a4a;color:#e0e0e0}.FontPreview_previewInput___xRDA:focus{border-color:#2196f3}.dark-mode .FontPreview_previewInput___xRDA:focus{border-color:#64b5f6}.FontPreview_sizeControl__FO4eA{display:flex;flex-direction:column;gap:8px;min-width:200px}.FontPreview_sizeControl__FO4eA label{font-size:14px;font-weight:500;color:#666}.dark-mode .FontPreview_sizeControl__FO4eA label{color:#999}.FontPreview_sizeSlider__7Qw2_{width:100%;cursor:pointer}.FontPreview_modeControl__qj0le{display:flex;align-items:center}.FontPreview_switch__mH0gO{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.FontPreview_switch__mH0gO input{opacity:0;width:0;height:0}.FontPreview_slider__FlVX_{position:relative;display:inline-block;width:50px;height:26px;background-color:#2196f3;border-radius:26px;transition:.3s}.FontPreview_slider__FlVX_:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.FontPreview_switch__mH0gO input:checked+.FontPreview_slider__FlVX_{background-color:#4caf50}.FontPreview_switch__mH0gO input:checked+.FontPreview_slider__FlVX_:before{transform:translateX(24px)}.FontPreview_modeLabel__2ZGqs{font-size:14px;font-weight:500;color:#666;min-width:50px}.dark-mode .FontPreview_modeLabel__2ZGqs{color:#999}.FontPreview_previewDisplay__5lEcs{background:#f9f9f9;border-radius:8px;padding:30px;min-height:150px;display:flex;flex-direction:column;gap:20px}.dark-mode .FontPreview_previewDisplay__5lEcs{background:#1a1a1a}.FontPreview_previewTextRendered__Rp_4L{color:#000;word-wrap:break-word;word-break:break-word}.dark-mode .FontPreview_previewTextRendered__Rp_4L{color:#e0e0e0}.FontPreview_previewCanvas__w_tyg{display:block;border-top:1px solid #eee;padding-top:20px;background:#fff}.dark-mode .FontPreview_previewCanvas__w_tyg{background:#fff;border-top-color:#4a4a4a}@media (max-width:768px){.FontPreview_fontPreview___cBNA{margin:15px;padding:15px}.FontPreview_previewControls__SJLyR{flex-direction:column;align-items:stretch}.FontPreview_sizeControl__FO4eA{min-width:unset}.FontPreview_previewDisplay__5lEcs{padding:20px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.close-btn{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f5f5f5;color:#333}.close-btn.small{font-size:28px;width:28px;height:28px}.interactive{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:all .2s ease}.popup-container{position:absolute;background:#fff;border:2px solid #2196f3;border-radius:12px;padding:16px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;animation:slideIn .2s ease}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;color:#333}.BrushPicker_brushPicker__sL7xf{position:relative}.BrushPicker_brushPreviewBtn__oW__1{padding:8px 12px;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:140px}.dark-mode .BrushPicker_brushPreviewBtn__oW__1{background:#3a3a3a;border-color:#4a4a4a}.BrushPicker_brushPreviewBtn__oW__1:hover{border-color:#2196f3;background:#f8f9fa}.dark-mode .BrushPicker_brushPreviewBtn__oW__1:hover{border-color:#64b5f6;background:#2d2d2d}.BrushPicker_brushPreviewBtn__oW__1:active{transform:scale(.98)}.BrushPicker_brushPreviewContent__49XXz{display:flex;flex-direction:row;gap:12px;align-items:center}.BrushPicker_brushLabel__OyX1p{font-size:13px;font-weight:500;color:#666;white-space:nowrap}.dark-mode .BrushPicker_brushLabel__OyX1p{color:#999}.BrushPicker_brushPreviewLine__XIWbi{display:flex;align-items:center;justify-content:center;height:30px;flex:1 1}.BrushPicker_brushLine__65REI{background:#000;transition:all .1s ease}.dark-mode .BrushPicker_brushLine__65REI{background:#e0e0e0}.BrushPicker_brushValue__s12JW{font-size:13px;font-weight:600;color:#333;min-width:40px;text-align:right}.dark-mode .BrushPicker_brushValue__s12JW{color:#e0e0e0}.BrushPicker_brushPickerPopup__Y6dGh{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:2px solid #2196f3;border-radius:12px;padding:16px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;min-width:280px;animation:BrushPicker_slideIn__pPTwI .2s ease}.dark-mode .BrushPicker_brushPickerPopup__Y6dGh{background:#2d2d2d;border-color:#64b5f6;box-shadow:0 4px 12px rgba(0,0,0,.4)}.BrushPicker_brushPickerHeader__92Cek{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;color:#333}.dark-mode .BrushPicker_brushPickerHeader__92Cek{color:#e0e0e0}.BrushPicker_brushPreviewLarge__Hxugw{display:flex;align-items:center;justify-content:center;height:120px;background:#f8f9fa;border-radius:8px;margin-bottom:16px;padding:20px}.dark-mode .BrushPicker_brushPreviewLarge__Hxugw{background:#1a1a1a}.BrushPicker_brushLineLarge__AKIxZ{width:100%;background:#000;transition:all .1s ease}.dark-mode .BrushPicker_brushLineLarge__AKIxZ{background:#e0e0e0}.BrushPicker_brushSliderContainer__FMf_9{display:flex;align-items:center;gap:12px;margin-bottom:12px}.BrushPicker_sizeLabel__dY5mb{font-size:12px;color:#666;font-weight:500;min-width:35px}.dark-mode .BrushPicker_sizeLabel__dY5mb{color:#999}.BrushPicker_brushSlider__0NH6A{flex:1 1;height:40px}.BrushPicker_brushValueDisplay__N1AGZ{text-align:center;font-size:18px;font-weight:700;color:#2196f3;padding:8px;background:#e3f2fd;border-radius:6px}.dark-mode .BrushPicker_brushValueDisplay__N1AGZ{color:#64b5f6;background:#1e3a5f}.BrushPicker_applyButton__FrouR{width:100%;margin-top:12px;padding:12px 16px;font-size:14px;font-weight:600;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.BrushPicker_applyButton__FrouR:hover{background:#1976d2;transform:translateY(-1px);box-shadow:0 2px 8px rgba(33,150,243,.4)}.BrushPicker_applyButton__FrouR:active{transform:translateY(0)}@media (max-width:768px){.BrushPicker_brushPickerPopup__Y6dGh{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90vw}@keyframes BrushPicker_slideIn__pPTwI{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}.CharacterPicker_charSelector__HAYQS{position:relative}.CharacterPicker_charButton__N1_ba{display:flex;align-items:center;gap:8px;padding:8px 12px;min-width:100px;height:40px;font-size:16px;font-weight:600;border:2px solid #2196f3;background:#fff;color:#333;border-radius:8px;cursor:pointer;transition:all .2s}.dark-mode .CharacterPicker_charButton__N1_ba{background:#3a3a3a;border-color:#64b5f6;color:#e0e0e0}.CharacterPicker_charButton__N1_ba:hover{background:#e3f2fd}.dark-mode .CharacterPicker_charButton__N1_ba:hover{background:#1e3a5f}.CharacterPicker_charDisplay__Rn1zA{flex:1 1;text-align:center;font-size:18px}.CharacterPicker_charDropdown__CDpL4{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;max-height:400px;background:#fff;border:2px solid #2196f3;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;display:flex;flex-direction:column}.dark-mode .CharacterPicker_charDropdown__CDpL4{background:#2d2d2d;border-color:#64b5f6;box-shadow:0 4px 12px rgba(0,0,0,.4)}.CharacterPicker_charSearch__87z0R{width:100%;padding:12px;border:none;border-bottom:2px solid #ddd;font-size:14px;outline:none}.dark-mode .CharacterPicker_charSearch__87z0R{background:#2d2d2d;border-bottom-color:#4a4a4a;color:#e0e0e0}.CharacterPicker_charSearch__87z0R:focus{border-bottom-color:#2196f3}.dark-mode .CharacterPicker_charSearch__87z0R:focus{border-bottom-color:#64b5f6}.CharacterPicker_charList___KL6b{overflow-y:auto;max-height:350px}.CharacterPicker_charItem__NMnqc{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:#fff;text-align:left;cursor:pointer;transition:background .2s}.dark-mode .CharacterPicker_charItem__NMnqc{background:#2d2d2d;color:#e0e0e0}.CharacterPicker_charItem__NMnqc:hover{background:#f5f5f5}.dark-mode .CharacterPicker_charItem__NMnqc:hover{background:#3a3a3a}.CharacterPicker_charItem__NMnqc.CharacterPicker_active__X6mEy{background:#e3f2fd}.dark-mode .CharacterPicker_charItem__NMnqc.CharacterPicker_active__X6mEy{background:#1e3a5f}.CharacterPicker_charPreview__KAvn1{font-size:24px;font-weight:700;min-width:40px;text-align:center;color:#999;flex-shrink:0}.dark-mode .CharacterPicker_charPreview__KAvn1{color:#666}.CharacterPicker_charInfo__U7Oj0{display:flex;flex-direction:column;gap:2px;font-size:14px;flex:1 1}.CharacterPicker_charName__3GvfP{font-weight:500}.dark-mode .CharacterPicker_charName__3GvfP{color:#e0e0e0}.CharacterPicker_charCode__axMa_{font-size:11px;color:#666;font-family:monospace}.dark-mode .CharacterPicker_charCode__axMa_{color:#999}.CharacterPicker_charGlyphPreview__FRAse{font-size:32px;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;flex-shrink:0;margin-left:auto}.dark-mode .CharacterPicker_charGlyphPreview__FRAse{color:#e0e0e0}.GlyphEditor_glyphEditor__Hb85J{display:flex;flex-direction:column;height:100%;background:#f5f5f5}.dark-mode .GlyphEditor_glyphEditor__Hb85J{background:#1a1a1a}.GlyphEditor_editorHeader__Xh3eN{display:flex;align-items:center;gap:20px;padding:15px 20px;background:#fff;border-bottom:2px solid #ddd}.dark-mode .GlyphEditor_editorHeader__Xh3eN{background:#2d2d2d;border-bottom-color:#4a4a4a}.GlyphEditor_editorHeader__Xh3eN h2{margin:0;font-size:24px}.dark-mode .GlyphEditor_editorHeader__Xh3eN h2{color:#e0e0e0}.GlyphEditor_spacer__JSk7g{flex:1 1}.GlyphEditor_btnBack__P1RSv{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:16px;border:2px solid #2196f3;background:#fff;color:#2196f3;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dark-mode .GlyphEditor_btnBack__P1RSv{background:#3a3a3a;border-color:#64b5f6;color:#64b5f6}.GlyphEditor_btnBack__P1RSv:active{background:#e3f2fd}.dark-mode .GlyphEditor_btnBack__P1RSv:active{background:#1e3a5f}.GlyphEditor_charNav__KpuQ0{display:flex;align-items:center;gap:10px}.GlyphEditor_navBtn__rCiz7{display:flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:8px 12px;border:2px solid #2196f3;background:#fff;color:#2196f3;border-radius:8px;cursor:pointer;transition:all .2s}.dark-mode .GlyphEditor_navBtn__rCiz7{background:#3a3a3a;border-color:#64b5f6;color:#64b5f6}.GlyphEditor_navBtn__rCiz7:hover:not(:disabled){background:#e3f2fd}.dark-mode .GlyphEditor_navBtn__rCiz7:hover:not(:disabled){background:#1e3a5f}.GlyphEditor_navBtn__rCiz7:disabled{opacity:.3;cursor:not-allowed}.GlyphEditor_navCharPreview__OaS6p{display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.GlyphEditor_navChar__pXJ4F{color:#999;font-weight:500}.dark-mode .GlyphEditor_navChar__pXJ4F{color:#666}.GlyphEditor_navGlyph__7y8kH{color:#2196f3;font-weight:600}.dark-mode .GlyphEditor_navGlyph__7y8kH{color:#64b5f6}.GlyphEditor_editorControls__1ZTZd{display:flex;gap:15px;padding:15px 20px;background:#fff;border-bottom:1px solid #ddd;flex-wrap:wrap;align-items:center}.dark-mode .GlyphEditor_editorControls__1ZTZd{background:#2d2d2d;border-bottom-color:#4a4a4a}.GlyphEditor_toolSelector__5rBeY{display:flex;gap:8px;padding:4px;background:#f5f5f5;border-radius:8px;flex-wrap:wrap}.dark-mode .GlyphEditor_toolSelector__5rBeY{background:#1a1a1a}.GlyphEditor_toolBtn__eFgAu{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;border:2px solid transparent;background:#fff;color:#333;border-radius:6px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .2s ease;font-weight:500}.dark-mode .GlyphEditor_toolBtn__eFgAu{background:#3a3a3a;color:#e0e0e0}.GlyphEditor_toolBtn__eFgAu:hover{background:#e3f2fd}.dark-mode .GlyphEditor_toolBtn__eFgAu:hover{background:#1e3a5f}.GlyphEditor_toolBtn__eFgAu.GlyphEditor_active___aJ3d{background:#2196f3;color:#fff;border-color:#2196f3}.dark-mode .GlyphEditor_toolBtn__eFgAu.GlyphEditor_active___aJ3d{background:#64b5f6;border-color:#64b5f6;color:#000}.GlyphEditor_toolBtn__eFgAu:active{transform:scale(.95)}.GlyphEditor_toolSeparator__9ZSb2{width:2px;height:30px;background:#ccc;margin:0 4px;align-self:center}.dark-mode .GlyphEditor_toolSeparator__9ZSb2{background:#4a4a4a}.GlyphEditor_controlGroup__NHPIy{display:flex;flex-direction:column;gap:5px;flex:1 1;min-width:200px}.GlyphEditor_controlGroup__NHPIy label{font-size:14px;font-weight:500}.dark-mode .GlyphEditor_controlGroup__NHPIy label{color:#e0e0e0}.GlyphEditor_controlGroup__NHPIy input[type=range]{width:100%;height:40px}.GlyphEditor_actionButtons__ksYu9{display:flex;gap:10px;flex-wrap:wrap}.GlyphEditor_btnAction__JIgj7{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;min-width:44px;min-height:44px;font-size:16px;border:2px solid #2196f3;background:#2196f3;color:#fff;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.GlyphEditor_btnAction__JIgj7:not(:has(span)){padding:10px}.GlyphEditor_btnAction__JIgj7:disabled{opacity:.5;cursor:not-allowed}.GlyphEditor_btnAction__JIgj7:active:not(:disabled){background:#1976d2}.GlyphEditor_btnDanger__fKqYP{background:#f44336;border-color:#f44336}.GlyphEditor_btnDanger__fKqYP:active:not(:disabled){background:#d32f2f}.GlyphEditor_btnFinish__bbJmy{background:#4caf50;border-color:#4caf50}.GlyphEditor_btnFinish__bbJmy:active:not(:disabled){background:#388e3c}.GlyphEditor_referenceStatus__DC9cs{padding:10px 15px;background:#e1bee7;border-radius:8px;font-size:14px;font-weight:500;color:#4a148c}.dark-mode .GlyphEditor_referenceStatus__DC9cs{background:#4a2a5f;color:#ce93d8}.GlyphEditor_imageControlCompact__MwL0j{position:relative}.GlyphEditor_btnImageToggle__cyiFk{padding:10px 16px;font-size:14px;font-weight:500;border:2px solid #9c27b0;background:#fff;color:#9c27b0;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.dark-mode .GlyphEditor_btnImageToggle__cyiFk{background:#3a3a3a;border-color:#ba68c8;color:#ce93d8}.GlyphEditor_btnImageToggle__cyiFk:hover{background:#f3e5f5}.dark-mode .GlyphEditor_btnImageToggle__cyiFk:hover{background:#4a2a5f}.GlyphEditor_imageDropdown__mkEJQ{position:absolute;top:100%;left:0;margin-top:8px;min-width:250px;background:#fff;border:2px solid #9c27b0;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000}.dark-mode .GlyphEditor_imageDropdown__mkEJQ{background:#2d2d2d;border-color:#ba68c8;box-shadow:0 4px 12px rgba(0,0,0,.4)}.GlyphEditor_refControlRow__hrcnG{display:flex;flex-direction:column;gap:6px}.GlyphEditor_refControlRow__hrcnG label{font-size:13px;font-weight:500;color:#666}.dark-mode .GlyphEditor_refControlRow__hrcnG label{color:#999}.GlyphEditor_refControlRow__hrcnG input[type=range]{width:100%;cursor:pointer}.GlyphEditor_controlInline__o1de6{display:flex;flex-direction:column;gap:6px}.GlyphEditor_controlInline__o1de6 label{font-size:13px;font-weight:500;color:#666}.dark-mode .GlyphEditor_controlInline__o1de6 label{color:#999}.GlyphEditor_controlInline__o1de6 input[type=range]{cursor:pointer}.GlyphEditor_canvasContainer__tAyh9{flex:1 1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.GlyphEditor_canvasContainer__tAyh9 canvas{border:2px solid #333;border-radius:4px;max-width:100%;max-height:100%;background:#fff}.dark-mode .GlyphEditor_canvasContainer__tAyh9 canvas{border-color:#4a4a4a}.GlyphEditor_editorInfo__c_Mv3{padding:15px 20px;background:#fff;border-top:1px solid #ddd;font-size:14px;color:#666}.dark-mode .GlyphEditor_editorInfo__c_Mv3{background:#2d2d2d;border-top-color:#4a4a4a;color:#999}.GlyphEditor_editorInfo__c_Mv3 p{margin:5px 0}.GlyphEditor_guideLines__bttl1{display:flex;gap:20px;align-items:center;margin-top:8px}.GlyphEditor_guideLine__bd2zi{display:flex;align-items:center;gap:8px}.GlyphEditor_lineIndicator__rx_oq{width:30px;height:3px;border-radius:2px;display:inline-block}@media (max-width:768px){.GlyphEditor_toolSelector__5rBeY{width:100%;justify-content:space-between}.GlyphEditor_toolBtn__eFgAu{flex:1 1;padding:12px 8px;font-size:12px}.GlyphEditor_btnText__7BEtW{display:none}.GlyphEditor_btnBack__P1RSv{padding:10px;min-width:auto}.GlyphEditor_actionButtons__ksYu9,.GlyphEditor_controlGroup__NHPIy{width:100%}.GlyphEditor_btnAction__JIgj7{flex:1 1;padding:10px 8px}}@media (min-width:768px){.GlyphEditor_editorControls__1ZTZd{flex-wrap:nowrap}}.GlyphEditor_modalOverlay__QiDAw{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000}.GlyphEditor_modal__0dRvY{background:#fff;border-radius:12px;padding:24px;min-width:320px;max-width:500px;box-shadow:0 8px 24px rgba(0,0,0,.2)}.GlyphEditor_modal__0dRvY h3{margin:0 0 12px;font-size:20px;color:#333}.GlyphEditor_modal__0dRvY p{margin:0 0 20px;font-size:14px;color:#666}.GlyphEditor_modalButtons__EI6Tv{display:flex;flex-direction:column;gap:10px}.GlyphEditor_modalButtons__EI6Tv .GlyphEditor_btnAction__JIgj7{width:100%;justify-content:center}.GlyphEditor_btnSecondary__WTOZr{background:#666!important;border-color:#666!important}.GlyphEditor_btnSecondary__WTOZr:active:not(:disabled){background:#555!important}.GlyphEditor_floatingButtonGroup__Zp97_{position:absolute;display:flex;gap:8px;align-items:center;pointer-events:auto;z-index:100}.GlyphEditor_floatingButton__I1nAO{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;border:2px solid #4caf50;background:#4caf50;color:#fff;border-radius:8px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.GlyphEditor_floatingButton__I1nAO:hover{background:#43a047;border-color:#43a047}.GlyphEditor_floatingButton__I1nAO:active{background:#388e3c;transform:scale(.95)}.GlyphEditor_floatingButtonActive__4hTmD{background:#2196f3!important;border-color:#2196f3!important}.GlyphEditor_floatingButtonActive__4hTmD:hover{background:#1976d2!important;border-color:#1976d2!important}.GlyphEditor_floatingButtonActive__4hTmD:active{background:#1565c0!important}.AddCharDialog_dialogDescription__mr68A{margin:0 0 20px;font-size:15px;line-height:1.5;color:#666}.AddCharDialog_inputGroup__lg4nH{display:flex;flex-direction:column;gap:12px}.AddCharDialog_charInput__LCgq_{width:100%;padding:16px;font-size:32px;text-align:center;border:2px solid #e0e0e0;border-radius:12px;outline:none;transition:all .2s ease;font-family:inherit}.AddCharDialog_charInput__LCgq_:focus{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1)}.AddCharDialog_charInput__LCgq_.AddCharDialog_error__dxu2W{border-color:#f44336}.AddCharDialog_charInput__LCgq_.AddCharDialog_error__dxu2W:focus{box-shadow:0 0 0 3px rgba(244,67,54,.1)}.AddCharDialog_charPreview__F_oy4{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#f5f5f5;border-radius:8px}.AddCharDialog_previewLabel__AWHnt{font-size:14px;color:#666;font-weight:500}.AddCharDialog_previewChar__RZjn5{font-size:48px;color:#333}.AddCharDialog_errorMessage__Re4mB{margin-top:12px;padding:12px;background:#ffebee;color:#c62828;border-radius:8px;font-size:14px;font-weight:500}@media (max-width:600px){.AddCharDialog_charInput__LCgq_{font-size:28px}.AddCharDialog_previewChar__RZjn5{font-size:40px}}.LoadingSpinner_loadingContainer__tSlkM{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:30px}.dark-mode .LoadingSpinner_loadingContainer__tSlkM{background:#1a1a1a}.LoadingSpinner_spinner__a42C_{width:80px;height:80px;border-right:5px solid #f3f3f3;border-top:5px solid #f3f3f3;border-color:#2196f3 #667eea #f3f3f3 #f3f3f3;border-style:solid;border-width:5px;border-radius:50%;animation:LoadingSpinner_spin__qqp0p 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite}.dark-mode .LoadingSpinner_spinner__a42C_{border-color:#64b5f6 #9fa8da #2d2d2d #2d2d2d}@keyframes LoadingSpinner_spin__qqp0p{0%{transform:rotate(0deg);box-shadow:0 0 0 rgba(33,150,243,0)}50%{box-shadow:0 0 20px rgba(33,150,243,.3)}to{transform:rotate(1turn);box-shadow:0 0 0 rgba(33,150,243,0)}}.LoadingSpinner_loadingText__LOS63{font-size:24px;color:#333;margin:0;font-weight:500;letter-spacing:2px}.dark-mode .LoadingSpinner_loadingText__LOS63{color:#e0e0e0}.LoadingSpinner_letter__sIiXq{display:inline-block;opacity:0;animation:LoadingSpinner_fadeInUp__S_bzc .6s ease forwards}@keyframes LoadingSpinner_fadeInUp__S_bzc{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}