.image-mosaic-container[data-v-25195ae8]{max-width:1200px;margin:0 auto;padding:20px}.error-message[data-v-25195ae8]{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;padding:12px 16px;margin-bottom:16px;cursor:pointer;transition:opacity .3s ease}.upload-area[data-v-25195ae8]{border:2px dashed #ccc;border-radius:10px;padding:40px;text-align:center;transition:border-color .3s ease}.upload-area[data-v-25195ae8]:hover{border-color:#007bff}.upload-area.drag-over[data-v-25195ae8]{border-color:#007bff;background-color:#007bff1a}.file-input[data-v-25195ae8]{display:none}.upload-label[data-v-25195ae8]{cursor:pointer;display:block;width:100%;height:100%}.upload-content[data-v-25195ae8]{color:#666}.upload-icon[data-v-25195ae8]{width:48px;height:48px;margin:0 auto 16px;color:#007bff}.upload-hint[data-v-25195ae8]{font-size:14px;color:#999;margin-top:8px}.image-editor[data-v-25195ae8]{margin-top:20px}.editor-controls[data-v-25195ae8]{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.btn[data-v-25195ae8]{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-primary[data-v-25195ae8]{background-color:#007bff;color:#fff}.btn-primary[data-v-25195ae8]:hover:not(:disabled){background-color:#0056b3}.btn-primary[data-v-25195ae8]:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary[data-v-25195ae8]{background-color:#6c757d;color:#fff}.btn-secondary[data-v-25195ae8]:hover{background-color:#545b62}.btn-success[data-v-25195ae8]{background-color:#28a745;color:#fff}.btn-success[data-v-25195ae8]:hover:not(:disabled){background-color:#1e7e34}.btn-success[data-v-25195ae8]:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.btn-info[data-v-25195ae8]{background-color:#17a2b8;color:#fff}.btn-info[data-v-25195ae8]:hover:not(:disabled){background-color:#138496}.btn-info[data-v-25195ae8]:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.btn-warning[data-v-25195ae8]{background-color:#ffc107;color:#212529}.btn-warning[data-v-25195ae8]:hover:not(:disabled){background-color:#e0a800}.btn-warning[data-v-25195ae8]:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.mode-selector[data-v-25195ae8]{margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.mode-label[data-v-25195ae8]{display:block;font-weight:700;margin-bottom:10px;color:#495057}.radio-group[data-v-25195ae8]{display:flex;gap:20px}.radio-option[data-v-25195ae8]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#495057}.radio-option input[type=radio][data-v-25195ae8]{margin:0;cursor:pointer}.radio-option span[data-v-25195ae8]{cursor:pointer}.canvas-container[data-v-25195ae8]{display:flex;justify-content:center;background-color:#f8f9fa;border-radius:10px;padding:20px;overflow:auto}.image-canvas[data-v-25195ae8]{max-width:100%;height:auto;border:1px solid #ddd;border-radius:5px;cursor:crosshair;touch-action:none}@media(max-width:768px){.image-mosaic-container[data-v-25195ae8]{padding:10px}.upload-area[data-v-25195ae8]{padding:20px}.upload-icon[data-v-25195ae8]{width:32px;height:32px}.editor-controls[data-v-25195ae8]{justify-content:center}.btn[data-v-25195ae8]{padding:8px 16px;font-size:12px}.canvas-container[data-v-25195ae8]{padding:10px}}@media(prefers-color-scheme:dark){.error-message[data-v-25195ae8]{background-color:#4a1c1c;color:#f5c6cb;border-color:#6b2c2c}.upload-area[data-v-25195ae8]{border-color:#555;background-color:#2d2d2d}.upload-content[data-v-25195ae8]{color:#ccc}.upload-hint[data-v-25195ae8]{color:#888}.mode-selector[data-v-25195ae8]{background-color:#2d2d2d;border-color:#555}.mode-label[data-v-25195ae8],.radio-option[data-v-25195ae8]{color:#ccc}.canvas-container[data-v-25195ae8]{background-color:#2d2d2d}.image-canvas[data-v-25195ae8]{border-color:#555}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.main-container{min-height:100vh;padding:20px}.header{text-align:center;margin-bottom:40px}.header h1{font-size:2.5em;margin-bottom:10px;color:#2c3e50}.header p{font-size:1.1em;color:#666;max-width:600px;margin:0 auto}@media(max-width:768px){.header h1{font-size:2em}.header p{font-size:1em}}@media(prefers-color-scheme:dark){body{background-color:#1a1a1a;color:#e0e0e0}.header h1{color:#fff}.header p{color:#ccc}}
