.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1rem 2rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:1px solid #2a2a4a;text-align:center}.app-header h1{font-size:1.8rem;margin-bottom:.25rem;color:#fff}.app-header p{color:#888;font-size:.9rem}.app-main{flex:1;display:flex;padding:1.5rem;gap:1.5rem;max-width:1600px;margin:0 auto;width:100%}.left-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;gap:1.5rem;max-height:calc(100vh - 150px);overflow-y:auto}.right-panel{flex:1;display:flex;justify-content:center;align-items:flex-start}.app-footer{padding:1rem 2rem;background:#1a1a2e;border-top:1px solid #2a2a4a;text-align:center;color:#666;font-size:.85rem}.wheel-editor{background:#1e1e3f;border-radius:12px;padding:1.25rem;border:1px solid #2a2a4a}.editor-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.editor-header h2{font-size:1.1rem;color:#fff;margin:0}.header-actions{display:flex;gap:.5rem}.segments-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;margin-bottom:1rem}.segment-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#2a2a5a;border-radius:8px;cursor:grab;transition:background .2s,transform .2s}.segment-item:hover{background:#3a3a6a}.segment-item.dragging{opacity:.5;transform:scale(.98)}.segment-drag-handle{color:#666;cursor:grab;padding:0 4px;-webkit-user-select:none;user-select:none}.segment-color-wrapper{position:relative;display:flex;align-items:center}.segment-color{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;padding:0}.color-warning{position:absolute;right:-5px;top:-5px;font-size:.7rem}.segment-label{flex:1;min-width:80px;padding:.5rem;background:#1a1a3a;border:1px solid #3a3a6a;border-radius:6px;color:#fff;font-size:.9rem}.segment-weight-wrapper{display:flex;align-items:center;gap:.25rem}.segment-weight-wrapper label{color:#888;font-size:.8rem}.segment-weight{width:50px;padding:.4rem;background:#1a1a3a;border:1px solid #3a3a6a;border-radius:6px;color:#fff;font-size:.9rem;text-align:center}.btn-remove{padding:.4rem .6rem;background:#c0392b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;transition:background .2s}.btn-remove:hover:not(:disabled){background:#e74c3c}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.btn-add-segment{width:100%;padding:.75rem;background:#3498db;border:none;border-radius:8px;color:#fff;font-size:.95rem;cursor:pointer;transition:background .2s}.btn-add-segment:hover{background:#2980b9}.settings-panel{background:#1e1e3f;border-radius:12px;padding:1.25rem;border:1px solid #2a2a4a}.settings-panel h2{font-size:1.1rem;color:#fff;margin:0 0 1rem}.setting-group{margin-bottom:1rem}.setting-group label{display:block;color:#aaa;font-size:.85rem;margin-bottom:.4rem}.setting-group select,.setting-group input[type=number],.setting-group input[type=text]{width:100%;padding:.6rem;background:#2a2a5a;border:1px solid #3a3a6a;border-radius:6px;color:#fff;font-size:.9rem}.setting-group select:focus,.setting-group input:focus{outline:none;border-color:#3498db}.setting-hint{display:block;color:#666;font-size:.75rem;margin-top:.25rem}.sub-setting{margin-left:1rem;padding-left:1rem;border-left:2px solid #3a3a6a}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#ccc}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#3498db}.setting-info{margin-top:1rem;padding:.75rem;background:#2a2a5a;border-radius:8px;border-left:3px solid #f39c12}.setting-info p{margin:0;color:#ccc;font-size:.85rem;line-height:1.4}.center-icon-controls{display:flex;gap:.5rem;margin-bottom:.5rem}.icon-upload-btn{flex:1;padding:.5rem .75rem;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.icon-upload-btn:hover{background:#2980b9}.icon-clear-btn{padding:.5rem .75rem;background:#e74c3c;border:none;border-radius:6px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.icon-clear-btn:hover{background:#c0392b}.center-icon-preview{display:flex;justify-content:center;padding:.5rem;background:#2a2a5a;border-radius:8px;margin-top:.5rem}.icon-preview-img{max-width:80px;max-height:80px;border-radius:50%;object-fit:cover;border:2px solid #3a3a6a}.setting-group input[type=range]{width:100%;height:6px;background:#2a2a5a;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.setting-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#3498db;border-radius:50%;cursor:pointer;transition:background .2s}.setting-group input[type=range]::-webkit-slider-thumb:hover{background:#2980b9}.export-panel{background:#1e1e3f;border-radius:12px;padding:1.25rem;border:1px solid #2a2a4a}.export-panel h2{font-size:1.1rem;color:#fff;margin:0 0 .75rem}.export-info{margin-bottom:1rem}.export-info p{color:#888;font-size:.85rem;line-height:1.4;margin:0}.export-buttons{display:flex;gap:.75rem;margin-bottom:1rem}.btn-export{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s,transform .1s}.btn-export:hover:not(:disabled){transform:translateY(-1px)}.btn-export:disabled{opacity:.6;cursor:not-allowed}.btn-webm{background:linear-gradient(135deg,#27ae60,#2ecc71)}.btn-webm:hover:not(:disabled){background:linear-gradient(135deg,#2ecc71,#27ae60)}.btn-mp4{background:linear-gradient(135deg,#8e44ad,#9b59b6)}.btn-mp4:hover:not(:disabled){background:linear-gradient(135deg,#9b59b6,#8e44ad)}.btn-icon{font-size:1.1rem}.btn-loading{display:flex;align-items:center;gap:.5rem}.export-progress{margin-bottom:1rem}.progress-bar{height:8px;background:#2a2a5a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease}.progress-text{color:#888;font-size:.8rem;text-align:center}.export-success{padding:.75rem;background:#2ecc7133;border:1px solid #27ae60;border-radius:8px;color:#2ecc71;font-size:.9rem;margin-bottom:1rem}.export-error{padding:.75rem;background:#e74c3c33;border:1px solid #c0392b;border-radius:8px;color:#e74c3c;font-size:.9rem;margin-bottom:1rem}.error-hint{margin-top:.5rem;font-size:.8rem;color:#e74c3c;opacity:.8}.export-tips{padding:.75rem;background:#2a2a5a;border-radius:8px}.export-tips h3{font-size:.9rem;color:#fff;margin:0 0 .5rem}.export-tips ul{margin:0;padding-left:1.25rem;color:#aaa;font-size:.8rem;line-height:1.5}.export-tips li{margin-bottom:.25rem}.preview-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.preview-header{display:flex;align-items:center;gap:1rem}.resolution-badge{padding:.4rem .8rem;background:#3498db;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500}.preview-label{color:#888;font-size:.85rem}.wheel-preview{position:relative;display:flex;flex-direction:column;align-items:center}.wheel-preview canvas{background:#2a2a5a}.winner-display{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.5rem;background:#1e1e3ff2;border:2px solid #f39c12;border-radius:12px;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.winner-label{color:#f39c12;font-size:.85rem}.winner-name{color:#fff;font-size:1.2rem;font-weight:700}.winner-seed{color:#666;font-size:.75rem}.preview-controls{margin-top:1rem}.btn-spin{padding:1rem 3rem;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:50px;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #e74c3c66}.btn-spin:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #e74c3c80}.btn-spin:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{padding:.5rem .75rem;background:#3a3a6a;border:1px solid #4a4a8a;border-radius:6px;color:#ccc;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#4a4a8a;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a3a;border-radius:4px}::-webkit-scrollbar-thumb{background:#3a3a6a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a4a8a}@media (max-width: 1024px){.app-main{flex-direction:column}.left-panel{width:100%;max-height:none}.right-panel{order:-1}}
