:root{--bg:#050508;--bg-deep:#020204;--surface:#0d0d16a6;--surface-hover:#161626d9;--border:#ffffff12;--border-active:#7c83ff59;--border-emerald:#34d39959;--text-primary:#eef2f6;--text-secondary:#9aa5b5;--text-muted:#5e6b7e;--primary:#7c83ff;--primary-glow:#7c83ff40;--secondary:#5a62f0;--emerald:#34d399;--amber:#fbbf24;--red:#f87171;--panel-width:340px;--header-height:58px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html,body{background-color:var(--bg);height:100%;color:var(--text-primary);-webkit-user-select:none;user-select:none;font-family:Outfit,sans-serif;font-size:13px;overflow:hidden}.scroll{max-height:100%;overflow:hidden auto}.scroll::-webkit-scrollbar{width:4px}.scroll::-webkit-scrollbar-track{background:0 0}.scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.scroll::-webkit-scrollbar-thumb:hover{background:#ffffff2e}#app{background:radial-gradient(circle at 50% 50%, #0c0d1e 0%, var(--bg) 80%);flex-direction:column;height:100vh;display:flex;position:relative}.header{height:var(--header-height);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;background:#050508b3;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.header-left,.header-right{align-items:center;gap:16px;display:flex}.logo-wrap{align-items:center;gap:10px;display:flex}.logo-pulse{background:var(--primary);width:8px;height:8px;box-shadow:0 0 12px var(--primary);border-radius:50%;animation:2.5s infinite pulse}.logo-text{letter-spacing:.1em;background:linear-gradient(135deg, #fff 30%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:800}.logo-sub{color:var(--text-secondary);font-size:14px;font-weight:300}.divider-v{background:var(--border);width:1px;height:20px}.engine-badge{border:1px solid var(--border);background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;display:flex}.badge-dot{background:var(--emerald);border-radius:50%;width:5px;height:5px}.badge-text{letter-spacing:.05em;color:var(--text-secondary);font-size:9px}.mono{font-family:JetBrains Mono,monospace}.workspace{flex:1;min-height:0;display:flex;position:relative}.panel{width:var(--panel-width);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;border-bottom:none;flex-direction:column;flex-shrink:0;gap:20px;padding:22px;transition:transform .3s;display:flex}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border)}.panel-section{border-bottom:1px solid #ffffff0a;flex-direction:column;gap:12px;padding-bottom:18px;display:flex}.panel-section:last-child{border-bottom:none;padding-bottom:0}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);border-left:2px solid var(--primary);margin-bottom:4px;padding-left:8px;font-size:12px;font-weight:700}.shape-grid{grid-template-columns:1fr;gap:8px;display:grid}.shape-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);text-align:left;background:#ffffff05;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.shape-chip:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff26}.shape-chip.active{border-color:var(--primary);color:var(--text-primary);background:#7c83ff14;box-shadow:0 4px 16px #7c83ff26}.shape-icon{font-size:16px}.shape-name{font-weight:600}.control-group{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.control-header{justify-content:space-between;align-items:center;display:flex}.control-label{color:var(--text-secondary);font-size:11px;font-weight:500}.control-value{color:var(--primary);background:#7c83ff14;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.slider{appearance:none;cursor:pointer;background:#ffffff14;border-radius:2px;outline:none;width:100%;height:4px;transition:background .15s}.slider:hover{background:#ffffff24}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);width:14px;height:14px;box-shadow:0 0 10px var(--primary);border-radius:50%;transition:transform .1s}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-bounds{color:var(--text-muted);justify-content:space-between;margin-top:1px;font-size:9px;display:flex}.material-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.material-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#ffffff05;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 10px;transition:all .15s;display:flex}.material-chip:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff26}.material-chip.active{border-color:var(--primary);color:var(--text-primary);background:#7c83ff0f}.material-chip span{text-align:center;line-height:1.25}.mat-preview{border:1px solid #fff3;border-radius:50%;width:24px;height:24px}.mat-crystal-glass{background:radial-gradient(circle at 30% 24%,#fffffff2 0%,#ffffff2e 18%,#0000 46%),radial-gradient(circle at 68% 78%,#7cdcff3d,#0000 55%),#e1fcff33;box-shadow:inset 0 0 9px #ffffff73,0 4px 10px #cdf5ff24}.mat-aqua-glass{background:radial-gradient(circle at 30% 26%,#ffffffe6 0%,#ffffff1f 20%,#0000 48%),linear-gradient(135deg,#d1faff59,#47abbcad);box-shadow:inset 0 0 10px #d0fcff73,0 4px 10px #4bbfd226}.mat-frosted-glass{filter:blur(.25px);background:radial-gradient(circle at 30% 30%,#ffffffa3 0%,#f5f7ff52 45%,#bec6d738 100%);box-shadow:inset 0 0 8px #ffffff47}.mat-translucent-pet{background:radial-gradient(circle at 32% 26%,#ffffffbf 0%,#ffffff1f 24%,#0000 52%),linear-gradient(135deg,#f7fbff8a,#b6c9dc52);box-shadow:inset 0 0 7px #ffffff40}.mat-matte-plastic{background:radial-gradient(circle at 30% 28%,#44485b 0%,#242838 52%,#171a25 100%);box-shadow:inset 0 2px 4px #ffffff0f}.mat-brushed-metal{background:repeating-linear-gradient(100deg,#ffffff4d 0 1px,#0000 1px 4px),linear-gradient(135deg,#e7e8ee 0%,#9ba1ad 42%,#505766 100%);box-shadow:inset 0 2px 4px #ffffff3d}.viewport-area{flex:1;min-width:0;height:100%;position:relative}#canvas-container{width:100%;height:100%;position:absolute;top:0;left:0}.hud-dimensions{pointer-events:none;z-index:20;gap:12px;display:flex;position:absolute;bottom:20px;left:20px}.hud-stat{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background:#0d0d1699;border-radius:12px;flex-direction:column;gap:3px;padding:10px 16px;display:flex}.hud-stat-lbl{letter-spacing:.08em;color:var(--text-muted);font-size:8px;font-weight:700}.hud-stat-val{color:var(--text-primary);font-size:15px;font-weight:700}.interaction-tip{pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-secondary);z-index:20;background:#0d0d1673;border-radius:20px;padding:6px 14px;font-size:10px;position:absolute;bottom:25px;right:20px}.color-picker-wrapper{gap:8px;display:flex}input[type=color]{-webkit-appearance:none;cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:1px solid var(--border);border-radius:6px}.text-input{border:1px solid var(--border);color:var(--text-primary);background:#ffffff05;border-radius:8px;outline:none;flex:1;padding:8px 12px;transition:all .15s}.text-input:focus{border-color:var(--primary);background:#ffffff0a}.dropzone{border:1.5px dashed var(--border);text-align:center;cursor:pointer;background:#ffffff03;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;transition:all .2s;display:flex}.dropzone:hover{border-color:var(--border-active);background:#ffffff08}.dropzone-icon{font-size:26px}.dropzone-text{color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1.4}.dropzone-sub{color:var(--text-muted);font-size:9px}.upload-preview-wrap{border:1px solid var(--border);background:#ffffff05;border-radius:8px;align-items:center;gap:12px;margin-top:8px;padding:8px;display:flex}#logo-preview-img{object-fit:contain;background:#ffffff1a;border-radius:4px;width:36px;height:36px}.logo-preview-meta{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.logo-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:10px;overflow:hidden}.btn-text{color:var(--red);cursor:pointer;background:0 0;border:none;font-size:10px}.btn-text:hover{text-decoration:underline}.text-seg-box{border:1px solid var(--border);background:#ffffff03;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:8px;padding:12px;display:flex}.seg-title{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.control-group-sub{flex-direction:column;gap:4px;display:flex}.sub-header{justify-content:space-between;display:flex}.sub-label{color:var(--text-muted);font-size:10px}.sub-value{color:var(--text-secondary);font-size:10px}.slider-sub{appearance:none;cursor:pointer;background:#ffffff0d;border-radius:1px;outline:none;width:100%;height:3px}.slider-sub::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text-secondary);border-radius:50%;width:10px;height:10px;box-shadow:0 0 5px #ffffff4d}.hud-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.hud-btn:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff26}.btn-highlight{border-color:var(--border-active);color:#a5aaff}.btn-highlight:hover{border-color:var(--primary);color:#fff;background:#7c83ff14}.btn-primary{background:linear-gradient(135deg, var(--secondary), #7c3aed);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 8px 24px #5c64f026}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 8px 24px #5c64f04d}.btn-secondary{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s}.btn-secondary:hover{color:var(--text-primary);background:#ffffff05;border-color:#ffffff26}.cta-section{padding-top:10px}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;background:#050508d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:#0f0f18;border-radius:16px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 24px 64px #000c}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{color:var(--text-primary);font-size:14px;font-weight:700}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.btn-close:hover{color:var(--text-primary)}.modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.modal-desc{color:var(--text-secondary);font-size:11px;line-height:1.6}.modal-form{flex-direction:column;gap:12px;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-row label{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.form-row input,.form-row select{border:1px solid var(--border);color:var(--text-primary);background:#ffffff05;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit}.form-row input:focus,.form-row select:focus{border-color:var(--primary)}.form-row select option{background:#0f0f18}.modal-footer{border-top:1px solid var(--border);grid-template-columns:1fr 2fr;gap:10px;padding:14px 20px;display:grid}.notification{border:1px solid var(--border-emerald);z-index:300;background:#0d1e15;border-radius:12px;align-items:center;gap:10px;padding:12px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 32px #34d39926}.toast-icon{background:var(--emerald);color:#000;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:flex}.toast-msg{color:#a7f3d0;font-size:12px;font-weight:500}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.15)}}.fade-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mobile-tabs,.mobile-only-nav{display:none}@media (width<=768px){.workspace{flex-direction:column;overflow:hidden}.viewport-area{border-bottom:1px solid var(--border);flex-shrink:0;order:1;height:40vh;min-height:250px}.hud-dimensions{gap:8px;top:12px;bottom:auto;left:12px}.hud-stat{border-radius:8px;gap:1px;padding:6px 10px}.hud-stat-lbl{font-size:7px}.hud-stat-val{font-size:11px}.interaction-tip{display:none!important}.mobile-tabs{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:50;background:#0d0d16e6;flex-shrink:0;order:2;display:flex}.mobile-tab-btn{color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 0;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.mobile-tab-btn:hover{color:var(--text-primary)}.mobile-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#7c83ff0d}.panel{background:var(--bg);border:none;flex:1;order:3;width:100%;padding:16px;display:none}.panel.active-panel{display:flex}.mobile-only-nav{padding-top:10px;display:block}.material-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.header{padding:0 12px}.divider-v,.engine-badge{display:none!important}.logo-text{font-size:13px}.logo-sub{font-size:11px}.header-right{gap:8px}.hud-btn{padding:6px 10px;font-size:10px}.material-grid{grid-template-columns:repeat(2,1fr)}.modal-card{flex-direction:column;width:92%;max-height:90vh;display:flex}.modal-body{padding:16px;overflow-y:auto}}
