@font-face{font-family:Silka;src:url(/font/Silka-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Silka;src:url(/font/silka-semibold-webfont.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body{font-family:Silka,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100vw;height:100vh}.app-container{width:100vw;height:100dvh;position:relative;display:block}.canvas-container{width:100vw;height:100vh;position:absolute;top:0;left:0;z-index:1}.config-panel-container{width:352px;height:100vh;position:fixed;top:0;left:0;z-index:100;will-change:transform;transition:transform .25s cubic-bezier(.25,.46,.45,.94);padding:20px;box-sizing:border-box}.config-panel-container.hidden{transform:translate(-352px)}.panel-toggle-button{position:fixed;top:20px;left:20px;z-index:1000;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);border-radius:12px;width:48px;height:48px;cursor:pointer;will-change:transform;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:18px;transform:translate(-100px);animation:slideInFromLeft .4s ease-out .3s forwards}.panel-toggle-button:hover{background:#0009;border-color:#3498db;transform:translateY(-2px);box-shadow:0 6px 16px #0006;color:#3498db}@keyframes slideInFromLeft{0%{transform:translate(-100px)}to{transform:translate(0)}}@keyframes slideInFromBottom{0%{transform:translateY(100px)}to{transform:translateY(0)}}.back-button{position:fixed;top:20px;right:20px;z-index:1000;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 20px;cursor:pointer;will-change:transform,opacity;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:14px;font-weight:500;opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out,background .2s ease,border-color .2s ease}.back-button:hover{background:#0009;border-color:#e74c3c;transform:translateY(-2px);box-shadow:0 6px 16px #0006;color:#e74c3c}.back-button.fade-out{opacity:0!important;transform:translateY(-20px)!important}@media (max-width: 768px){.panel-toggle-button{top:auto;bottom:20px;left:auto;right:20px;transform:translateY(100px);animation:slideInFromBottom .4s ease-out .3s forwards}.panel-toggle-button:hover{transform:translateY(-2px)}.back-button{top:auto;bottom:80px;right:20px}.back-button:hover{transform:translateY(-2px)}}@media (max-width: 768px){.config-panel-container{width:100%;height:50vh;min-height:300px;max-height:60vh;position:fixed;top:auto;bottom:0;left:0;will-change:transform;transition:transform .25s cubic-bezier(.25,.46,.45,.94);padding:20px 20px 40px}.config-panel-container.hidden{transform:translateY(100%)}.config-panel{border-radius:20px 20px 0 0}}.asset-loader-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .8s cubic-bezier(.25,.46,.45,.94)}.asset-loader-overlay.fade-out{opacity:0}.asset-loader{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;text-align:center;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #0000001a;position:relative}.frosted-background{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:url(/images/Frosted%20Glass%20Effect-min.png);background-size:cover;background-position:top left;background-repeat:no-repeat;opacity:.6;z-index:-1}.loader-content h2{color:#fff;font-size:24px;margin-bottom:20px;font-weight:300}.loader-content p{color:#fffc;font-size:14px;margin-top:10px}.loader-spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-bar{width:200px;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden;margin:20px auto}.progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#00b4d8);border-radius:2px;transition:width .3s ease}.loader-errors{margin-top:20px;text-align:left}.error-summary{color:#ff6b6b;font-size:12px;cursor:pointer;list-style:none;padding:8px;background:#ff6b6b1a;border-radius:6px;border:1px solid rgba(255,107,107,.3);transition:all .2s ease}.error-summary:hover{background:#ff6b6b26;border-color:#ff6b6b66}.error-summary::-webkit-details-marker{display:none}.error-summary:before{content:"⚠ ";margin-right:4px}.error-list{margin-top:8px;padding:8px;background:#ff6b6b0d;border-radius:4px;border-left:3px solid rgba(255,107,107,.5)}.error-item{color:#ffffffe6;font-size:11px;margin-bottom:4px;padding:4px 8px;background:#0003;border-radius:3px;word-break:break-word}.error-item:last-child{margin-bottom:0}.config-panel{width:100%;height:100%;padding:24px;color:#fff;overflow-y:auto;overflow-x:hidden;position:relative;background:#0000004d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0003;border-radius:20px}.config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px}.config-panel h2{font-size:20px;font-weight:400;margin:0;color:#fff;flex:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.configurator-bold{font-weight:600}.panel-close-button{background:transparent;border:none;cursor:pointer;padding:8px;margin:-8px -8px -8px 8px;color:#fffc;font-size:16px;font-weight:400;transition:color .2s ease;border-radius:8px}.panel-close-button:hover{color:#fff}.config-section{margin-bottom:24px}.config-section h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff;display:flex;align-items:center;gap:8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.config-section h4{font-size:14px;font-weight:500;margin-bottom:8px;color:#fffc}.button-group{display:flex;gap:8px;flex-wrap:wrap}.button-group button{padding:8px 16px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.button-group button:hover{border-color:#3498dbcc;background:#fff3;transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.button-group button.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#2980b9;box-shadow:0 4px 12px #3498db4d}.button-group button.active:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3498db66}.sub-controls{margin-top:12px;padding-left:16px;border-left:3px solid rgba(255,255,255,.2)}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin-top:8px}.color-button{width:100%;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:400;color:#fff;background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.5)}.color-button:hover{border-color:#3498dbcc;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.color-button.active{border-color:#2980b9;box-shadow:0 0 0 3px #3498db4d;transform:scale(1.05)}.color-button.default-color{background:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.2) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.2) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#ffffff1a;color:#fff}.color-button.default-color.active{background-color:#ffffff4d}.export-button{padding:8px 16px;border:2px solid rgba(76,175,80,.5);border-radius:8px;background:#4caf5033;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.export-button:hover{border-color:#4caf50cc;background:#4caf504d;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}@media (max-width: 768px){.config-panel{padding:20px;border-radius:20px 20px 0 0}.config-header{margin-bottom:20px;padding-bottom:16px}.config-panel h2{font-size:18px}.panel-close-button{font-size:15px;padding:8px}.config-section{margin-bottom:20px}.button-group{gap:8px}.button-group button{padding:8px 14px;font-size:13px;min-height:36px}.color-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}.color-button{height:36px;font-size:11px}}@media (max-width: 480px){.config-panel-container{height:45vh;min-height:300px;max-height:50vh;padding:16px}.config-panel{padding:16px}.config-panel h2{font-size:16px}.config-section{margin-bottom:16px}.button-group button{padding:6px 12px;font-size:12px;min-height:32px}.color-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:6px}.color-button{height:32px;font-size:10px}}@media (max-width: 768px) and (orientation: landscape){.config-panel-container{height:60vh;min-height:320px}}.config-panel::-webkit-scrollbar{width:0px;background:transparent}.config-panel::-webkit-scrollbar-track{background:transparent}.config-panel::-webkit-scrollbar-thumb{background:transparent}.config-panel::-webkit-scrollbar-thumb:hover{background:transparent}.config-panel{scrollbar-width:none}.config-panel{scroll-behavior:smooth}
