.caps-editor-modal .modal-dialog{max-width:900px}.caps-editor-container{position:relative;display:inline-block;width:100%;max-width:600px;margin:0 auto}.caps-editor-canvas{border:2px solid #ddd;border-radius:8px;cursor:crosshair;max-width:100%;height:auto;display:block;margin:0 auto;touch-action:none;width:auto;max-height:none}.caps-editor-canvas.snapping{border-color:#f44;box-shadow:0 0 10px rgba(255,68,68,.3)}.caps-snap-guide{position:absolute;pointer-events:none;z-index:1000}.caps-snap-guide.vertical{width:2px;height:100%;background:linear-gradient(0deg,transparent 0,rgba(255,68,68,.8) 20%,rgba(255,68,68,.8) 80%,transparent 100%);animation:snapFade .3s ease-in-out}.caps-snap-guide.horizontal{width:100%;height:2px;background:linear-gradient(90deg,transparent 0,rgba(255,68,68,.8) 20%,rgba(255,68,68,.8) 80%,transparent 100%);animation:snapFade .3s ease-in-out}@keyframes snapFade{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}.caps-editor-toolbar{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px}.caps-text-item{position:absolute;cursor:move;user-select:none;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);z-index:10;border:2px dashed transparent;min-width:20px;min-height:20px;padding:2px}.caps-text-item.selected{border:2px dashed #007bff;background:rgba(0,123,255,.1)}.caps-text-item:hover{border:2px dashed #007bff}.caps-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.caps-control-group{display:flex;flex-direction:column;gap:5px}.caps-control-group label{font-size:12px;font-weight:700;color:#6c757d;margin-bottom:0}.caps-color-picker{width:50px;height:35px;border:none;border-radius:4px;cursor:pointer}.caps-size-slider{width:100px}.caps-font-select{min-width:120px}.caps-add-text-btn{background:linear-gradient(45deg,#28a745,#20c997);border:none;color:#fff;padding:8px 16px;border-radius:20px;font-weight:700;transition:all .3s ease}.caps-add-text-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(40,167,69,.3);background:linear-gradient(45deg,#20c997,#28a745)}.caps-delete-btn{background:linear-gradient(45deg,#dc3545,#c82333);border:none;color:#fff;padding:5px 10px;border-radius:15px;font-size:12px;transition:all .3s ease}.caps-delete-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(220,53,69,.3)}.caps-preset-colors{display:flex;gap:5px;flex-wrap:wrap}.caps-preset-color{width:30px;height:30px;border-radius:50%;border:2px solid #fff;cursor:pointer;transition:transform .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.caps-preset-color:hover{transform:scale(1.1)}.caps-text-controls{background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px;margin-top:10px;display:none}.caps-text-controls.active{display:block}.caps-image-controls{background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px;margin-top:10px;display:none}.caps-image-controls.active{display:block}@media (max-width:768px){.caps-editor-modal .modal-dialog{max-width:98%;margin:5px auto}.caps-editor-modal .modal-content{height:95vh;overflow-y:auto}.caps-editor-container{max-width:100%;padding:0 10px}.caps-editor-canvas{max-width:100%!important;width:auto!important;height:auto!important;max-height:50vh;object-fit:contain}.caps-controls{flex-direction:column;align-items:stretch;gap:8px}.caps-control-group{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.caps-size-slider{width:150px;flex:1;max-width:200px}.caps-font-select{min-width:100px;flex:1}.caps-color-picker{width:40px;height:30px}.caps-editor-content{flex-direction:column}.caps-editor-left,.caps-editor-right{width:100%!important;max-width:none!important}.caps-layers-panel{height:250px;margin-top:15px}.caps-preset-color{width:25px;height:25px}.caps-add-text-btn{width:100%;padding:12px 16px;font-size:16px}}@media (max-width:480px){.caps-editor-modal .modal-dialog{max-width:100%;margin:0;height:100vh}.caps-editor-modal .modal-content{height:100vh;border-radius:0}.caps-editor-canvas{max-height:50vh}.caps-layers-panel{height:200px}}.dark-mode .caps-editor-toolbar,[data-theme=dark] .caps-editor-toolbar{background:#343a40;border-color:#495057;color:#fff}.dark-mode .caps-image-controls,.dark-mode .caps-text-controls,[data-theme=dark] .caps-image-controls,[data-theme=dark] .caps-text-controls{background:#343a40;border-color:#495057;color:#fff}.dark-mode .caps-control-group label,[data-theme=dark] .caps-control-group label{color:#adb5bd}.caps-layers-panel{background:#fff;border:1px solid #ddd;border-radius:8px;height:400px;overflow-y:auto}.caps-layers-title{background:#f8f9fa;padding:10px 15px;border-bottom:1px solid #ddd;font-weight:700;font-size:14px;color:#333;margin:0}.caps-layers-list{padding:10px}.caps-layer-item{background:#f8f9fa;border:1px solid #ddd;border-radius:5px;margin-bottom:8px;padding:8px;cursor:pointer;transition:all .2s ease}.caps-layer-item:hover{background:#e9ecef;border-color:#adb5bd}.caps-layer-item.selected{background:#e3f2fd;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.caps-layer-content{display:flex;justify-content:space-between;align-items:center}.caps-layer-text{display:flex;align-items:center;flex-grow:1;font-size:12px;color:#333;min-width:0}.caps-layer-text i{margin-right:6px;color:#6c757d}.caps-layer-controls{display:flex;gap:4px;flex-shrink:0}.caps-layer-controls .btn{width:24px;height:24px;padding:0;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center}.caps-layer-empty{text-align:center;color:#6c757d;font-style:italic;padding:20px;font-size:14px}.caps-editor-content{display:flex;gap:20px}.caps-editor-left{flex:1}.caps-editor-right{width:250px;flex-shrink:0}.dark-mode .caps-layers-panel,[data-theme=dark] .caps-layers-panel{background:#343a40;border-color:#495057}.dark-mode .caps-layers-title,[data-theme=dark] .caps-layers-title{background:#495057;border-color:#6c757d;color:#fff}.dark-mode .caps-layer-item,[data-theme=dark] .caps-layer-item{background:#495057;border-color:#6c757d}.dark-mode .caps-layer-item:hover,[data-theme=dark] .caps-layer-item:hover{background:#6c757d}.dark-mode .caps-layer-text,[data-theme=dark] .caps-layer-text{color:#fff}.dark-mode .caps-layer-empty,[data-theme=dark] .caps-layer-empty{color:#adb5bd}.caps-editor-canvas.snapping{border-color:#f44;box-shadow:0 0 10px rgba(255,68,68,.3)}.caps-snap-guide{position:absolute;pointer-events:none;z-index:1000}.caps-snap-guide.vertical{width:2px;height:100%;background:linear-gradient(0deg,transparent 0,rgba(255,68,68,.8) 20%,rgba(255,68,68,.8) 80%,transparent 100%);animation:snapFade .3s ease-in-out}.caps-snap-guide.horizontal{width:100%;height:2px;background:linear-gradient(90deg,transparent 0,rgba(255,68,68,.8) 20%,rgba(255,68,68,.8) 80%,transparent 100%);animation:snapFade .3s ease-in-out}@keyframes snapFade{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}