@import url('https://rsms.me/inter/inter.css'); html { font-family: 'Inter', sans-serif; } body { background-color: #0c0a09; color: #e7e5e4; } .glass-ui { background-color: rgba(28, 25, 23, 0.7); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.1); } .modal-overlay { background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .hidden { display: none !important; } .side-panel { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .side-panel.left { transform: translateX(-100%); } .side-panel.right { transform: translateX(100%); } .side-panel.is-open { transform: translateX(0); } .panel-trigger { transition: background-color 0.2s ease; } .panel-trigger:hover { background-color: rgba(59, 130, 246, 0.5); } .asset-card { transition: all 0.2s ease-in-out; border: 2px solid transparent; } .asset-card:hover { transform: scale(1.03); background-color: rgba(59, 130, 246, 0.1); } .asset-card.active { background-color: rgba(59, 130, 246, 0.2); border-color: #3b82f6; } .panel-content::-webkit-scrollbar { width: 6px; } .panel-content::-webkit-scrollbar-track { background: transparent; } .panel-content::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; } .drop-zone { border: 2px dashed #44403c; transition: background-color 0.2s, border-color 0.2s; } .drop-zone.drag-over { background-color: rgba(59, 130, 246, 0.15); border-color: #3b82f6; } .loader-spinner, .btn-spinner { width: 48px; height: 48px; border: 4px solid #44403c; border-top-color: #3b82f6; border-radius: 50%; animation: spin 1s linear infinite; } .notification-spinner, .btn-spinner { width: 20px; height: 20px; border: 2px solid #e7e5e4; border-top-color: transparent; border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .toggle-bg:after { content: ''; position: absolute; top: 2px; left: 2px; background: white; border-radius: 9999px; height: 1.25rem; width: 1.25rem; transition: all .3s cubic-bezier(0.4, 0, 0.2, 1); } input:checked+.toggle-bg { background-color: #3b82f6; } input:checked+.toggle-bg:after { transform: translateX(1.25rem); } input:disabled+.toggle-bg { background-color: #44403c; cursor: not-allowed; } input:disabled+.toggle-bg:after { background-color: #57534e; } #main-canvas { transition: filter 0.5s cubic-bezier(0.4, 0, 0.2, 1); } #main-canvas.loading { filter: blur(8px) brightness(0.6); } .notification { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translateY(150%) scale(0.9); opacity: 0; } .notification.show { transform: translateY(0) scale(1); opacity: 1; } .control-section { transition: opacity 0.3s ease; } .sliders-container, .accordion-content, #concave-hull-options, #render-mask-options, #background-ratio-container { transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s, padding-top 0.4s, margin-top 0.4s, padding-bottom 0.4s; overflow: hidden; } input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: #44403c; border-radius: 10px; outline: none; transition: background 0.3s; padding: 10px 4px; margin: 0; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; background: #e7e5e4; border-radius: 50%; cursor: pointer; border: 4px solid #3b82f6; transition: all 0.2s ease-in-out; margin-top: 0; } input[type="range"]:hover::-webkit-slider-thumb { background: #fff; box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.5); } input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; background: #e7e5e4; border-radius: 50%; cursor: pointer; border: 4px solid #3b82f6; } .tooltip-trigger { position: relative; cursor: help; } .tooltip-trigger .tooltip-content { visibility: hidden; opacity: 0; position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background-color: #1c1917; color: #e7e5e4; text-align: center; padding: 8px 12px; border-radius: 6px; z-index: 50; width: 240px; font-size: 0.8rem; line-height: 1.4; transition: opacity 0.2s; pointer-events: none; } .tooltip-trigger:hover .tooltip-content { visibility: visible; opacity: 1; } .method-radio-label, .task-radio-label { border: 2px solid #57534e; transition: all 0.2s ease; } .method-radio-label:hover, .task-radio-label:hover { border-color: #a8a29e; } input[type="radio"]:checked+.method-radio-label, input[type="radio"]:checked+.task-radio-label { border-color: #3b82f6; background-color: rgba(59, 130, 246, 0.2); } input[type=range].split-slider { position: absolute; background: transparent; pointer-events: none; } input[type=range].split-slider::-webkit-slider-thumb { pointer-events: auto; } input[type=range].split-slider::-moz-range-thumb { pointer-events: auto; }