*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f0f0f;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.home-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:32px;background:linear-gradient(135deg,#0f0f0f,#1a1a2e)}.home-page h1{font-size:1.75rem;font-weight:600;color:#fff;letter-spacing:-.02em}.home-form{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:480px}.home-server-row{display:flex;align-items:center;gap:12px;width:100%}.home-server-row .home-label{min-width:50px}.home-server-select{flex:1}.home-input-group{display:flex;gap:10px;width:100%}.home-page input{padding:14px 18px;font-size:.95rem;border:1px solid #2a2a2a;border-radius:8px;background:#1a1a1a;color:#fff;flex:1;transition:border-color .2s,box-shadow .2s}.home-page input:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff26}.home-page input::placeholder{color:#666}.home-page input:disabled{opacity:.6;cursor:not-allowed}.load-button{padding:14px 24px;font-size:.9rem;font-weight:500;background:#333;color:#ccc;border:1px solid #444;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.load-button:hover:not(:disabled){background:#444;color:#fff;border-color:#555}.load-button:disabled{opacity:.5;cursor:not-allowed}.home-error{padding:12px 18px;background:#c83c3c26;border:1px solid rgba(200,60,60,.3);border-radius:8px;color:#e88;font-size:.85rem;width:100%;text-align:center}.home-model-select{display:flex;flex-direction:column;gap:12px;width:100%;padding:20px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px}.home-label{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.home-select{padding:14px 40px 14px 18px;font-size:.95rem;border:1px solid #333;border-radius:8px;background:#141414;color:#fff;cursor:pointer;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.home-select:hover{border-color:#444}.home-select:focus{outline:none;border-color:#4a9eff}.launch-button{padding:14px 36px;font-size:.95rem;font-weight:500;background:#4a9eff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s;margin-top:4px}.launch-button:hover{background:#3d8ce8}.launch-button:active{transform:scale(.98)}.editor-layout{display:flex;height:100vh;width:100vw;background:#0a0a0a}.viewport-container{flex:1;position:relative;background:#0a0a0a}.panel{width:380px;background:#141414;border-left:1px solid #222;display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:16px 20px;background:#1a1a1a;border-bottom:1px solid #222;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#888;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.export-button{padding:8px 14px;font-size:.75rem;font-weight:500;background:linear-gradient(135deg,#2d5a3d,#1e4a2f);border:1px solid #3d7a4d;border-radius:6px;color:#8fdf9f;cursor:pointer;transition:all .2s;text-transform:none;letter-spacing:0}.export-button:hover:not(:disabled){background:linear-gradient(135deg,#3d6a4d,#2e5a3f);border-color:#4d8a5d;color:#afffbf}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-button.exporting{background:linear-gradient(135deg,#2a4a5a,#1a3a4a);border-color:#3a6a7a;color:#8abfdf}.panel-content{padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;color:#555}.panel-empty-icon{color:#333}.panel-empty-text{font-size:.85rem;text-align:center;line-height:1.5;max-width:200px}.panel-empty-spinner{width:32px;height:32px;border:2px solid #333;border-top-color:#4a9eff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.material-header{padding:14px 16px;background:#1a1a1a;border-radius:8px;border:1px solid #252525;display:flex;justify-content:space-between;align-items:center;gap:12px}.material-info{flex:1;min-width:0}.material-name{font-size:.95rem;font-weight:600;color:#fff;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-type-badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.type-indicator{width:8px;height:8px;border-radius:50%;background:#4a9eff}.type-indicator.physical{background:linear-gradient(135deg,#9a6eff,#6a4eff)}.type-indicator.standard{background:linear-gradient(135deg,#4a9eff,#2a7eff)}.material-actions{flex-shrink:0}.convert-button{padding:7px 12px;font-size:.7rem;font-weight:500;background:#222;border:1px solid #333;border-radius:5px;color:#888;cursor:pointer;transition:all .15s ease;white-space:nowrap}.convert-button:hover{background:#2a2a2a;color:#bbb;border-color:#444}.convert-button.convert-to-physical{background:#1e1e2e;border-color:#3a3a5a;color:#9a8eff}.convert-button.convert-to-physical:hover{background:#2a2a3e;border-color:#4a4a6a;color:#aa9eff}.tabs-container{display:flex;flex-direction:column;flex:1;min-height:0}.tabs-header{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:16px;border-bottom:1px solid #222;flex-shrink:0}.tab-button{padding:7px 12px;font-size:.75rem;font-weight:500;background:#1a1a1a;border:1px solid #252525;border-radius:5px;color:#666;cursor:pointer;transition:all .15s ease}.tab-button:hover{background:#222;color:#888;border-color:#333}.tab-button.active{background:#4a9eff;border-color:#4a9eff;color:#fff}.tabs-body{flex:1;overflow-y:auto;padding-top:16px}.tab-content{display:flex;flex-direction:column;gap:14px}.tab-section{display:flex;flex-direction:column;gap:10px;padding-bottom:14px;border-bottom:1px solid #222}.tab-section:last-child{border-bottom:none;padding-bottom:0}.tab-section-title{font-size:.7rem;text-transform:uppercase;color:#555;letter-spacing:.05em;font-weight:600;margin-bottom:2px}.property-row{display:flex;flex-direction:column;gap:8px}.property-row-inline{flex-direction:row;align-items:center;justify-content:space-between}.property-label{font-size:.8rem;color:#888;font-weight:500}.property-input{padding:10px 12px;background:#1a1a1a;border:1px solid #252525;border-radius:6px;color:#fff;font-size:.85rem;width:100%;transition:border-color .15s,box-shadow .15s}.property-input:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff1a}.color-input-wrapper{display:flex;gap:10px;align-items:center}.color-swatch{width:36px;height:36px;border-radius:6px;border:2px solid #333;cursor:pointer;flex-shrink:0;transition:border-color .15s}.color-swatch:hover{border-color:#444}.color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-swatch::-webkit-color-swatch{border:none;border-radius:4px}.slider-wrapper{display:flex;align-items:center;gap:12px}.slider{flex:1;-webkit-appearance:none;height:4px;background:#252525;border-radius:2px;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#4a9eff;border-radius:50%;cursor:pointer;transition:transform .1s,box-shadow .1s}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #4a9eff33}.slider-value{width:42px;text-align:right;font-size:.8rem;color:#666;font-family:SF Mono,Monaco,Consolas,monospace}.toggle-button{padding:6px 14px;font-size:.75rem;font-weight:500;background:#1a1a1a;border:1px solid #252525;border-radius:5px;color:#666;cursor:pointer;transition:all .15s ease}.toggle-button:hover{background:#222;border-color:#333}.toggle-button.active{background:#1a3a2a;border-color:#2a5a3a;color:#6abf7a}.vector2-wrapper{display:flex;gap:10px}.vector2-field{flex:1;display:flex;align-items:center;gap:8px}.vector2-label{font-size:.7rem;color:#555;font-weight:600;min-width:14px}.vector2-field .property-input{flex:1}.range-wrapper{display:flex;gap:10px}.range-field{flex:1;display:flex;align-items:center;gap:8px}.range-label{font-size:.7rem;color:#555;font-weight:600;min-width:28px}.range-field .property-input{flex:1}.texture-preview{background:#1a1a1a;border:1px solid #252525;border-radius:6px;overflow:hidden}.texture-thumbnail{position:relative}.texture-image{width:100%;height:100px;object-fit:cover;display:block;background:#111}.texture-info{padding:8px 10px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);position:absolute;bottom:0;left:0;right:0}.texture-size{font-size:.7rem;color:#888;font-family:SF Mono,Monaco,Consolas,monospace}.texture-empty{padding:24px;text-align:center;color:#444;font-size:.8rem}.texture-actions{display:flex;gap:8px;padding:10px;background:#141414;border-top:1px solid #222}.texture-file-input{display:none}.texture-button{flex:1;padding:8px 12px;font-size:.75rem;font-weight:500;border-radius:5px;cursor:pointer;transition:all .15s ease}.texture-upload{background:#1e2a3a;border:1px solid #2a4a5a;color:#6abfdf}.texture-upload:hover{background:#2a3a4a;border-color:#3a5a6a;color:#8adfff}.texture-clear{background:#2a1a1a;border:1px solid #4a2a2a;color:#df6a6a}.texture-clear:hover{background:#3a2a2a;border-color:#5a3a3a;color:#ff8a8a}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000e6;font-size:.95rem;color:#666;letter-spacing:.02em}.no-scene{display:flex;align-items:center;justify-content:center;height:100%;color:#555;font-size:.95rem}plattar-embed,plattar-adhoc{display:block;width:100%;height:100%}.panel-content::-webkit-scrollbar,.tabs-body::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track,.tabs-body::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb,.tabs-body::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover,.tabs-body::-webkit-scrollbar-thumb:hover{background:#444}.panel-content,.tabs-body{scrollbar-width:thin;scrollbar-color:#333 transparent}
