@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--color-bg-base:#0a0b0d;--color-bg-sidebar:#101216;--color-bg-card:#16192166;--color-border:#ffffff0f;--color-border-hover:#6366f133;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-accent:#6366f1;--color-accent-hover:#4f46e5;--color-accent-glow:#6366f159;--glass-blur:blur(12px);--radius-lg:16px;--radius-md:8px;--shadow-card:0 10px 30px -10px #00000080, inset 0 1px 0 #ffffff08}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-base);color:var(--color-text-main);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;font-family:Outfit,sans-serif;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.app-container{background:var(--color-bg-base);width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.main-content{flex-direction:row;flex:1;height:100vh;display:flex;position:relative;overflow:hidden}.editor-panel{background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;flex-shrink:0;width:320px;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1),margin-left .3s cubic-bezier(.4,0,.2,1),border-right-width .3s;display:flex;overflow:hidden;box-shadow:10px 0 30px #00000080}.editor-panel.collapsed{border-right-width:0;width:0}.editor-panel-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.editor-panel h1{background:linear-gradient(135deg,#fff 30%,#a5b4fc 100%);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;margin:0;font-size:1.1rem;font-weight:600}.panel-toggle-btn{z-index:110;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;background:#101216d9;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;left:16px;box-shadow:0 4px 20px #0006}.panel-toggle-btn:hover{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow);transform:translateY(-1px)}.panel-toggle-btn svg{fill:none;width:18px;height:18px}.sidebar-tabs{border-bottom:1px solid var(--color-border);background:#00000026;gap:2px;padding:6px 12px;display:flex}.sidebar-tab-trigger{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.sidebar-tab-trigger:hover{color:var(--color-text-main);background:#ffffff05}.sidebar-tab-trigger.active{color:#a5b4fc;background:#6366f114;box-shadow:inset 0 0 0 1px #6366f126}.sidebar-tab-trigger svg{width:16px;height:16px}.sidebar-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.control-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:border-color .25s,box-shadow .25s;display:flex}.control-card:hover{border-color:var(--color-border-hover);box-shadow:0 6px 20px #00000040}.control-card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:2px;font-size:.72rem;font-weight:600;display:flex}.control-card-title svg{width:14px;height:14px}.control-group{flex-direction:column;gap:4px;display:flex}.control-group label{color:var(--color-text-muted);font-size:.72rem;font-weight:500}input[type=range]{-webkit-appearance:none;background:#ffffff14;border-radius:4px;outline:none;width:100%;height:4px;margin:6px 0}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-text-main);cursor:pointer;border:2px solid var(--color-accent);border-radius:50%;width:14px;height:14px;transition:transform .15s,box-shadow .15s;box-shadow:0 0 6px #00000080}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 10px var(--color-accent-glow);transform:scale(1.2)}.dimension-input-container{border:1px solid var(--color-border);background:#00000040;border-radius:6px;align-items:center;transition:all .2s;display:flex;overflow:hidden}.dimension-input-container:focus-within{border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow)}.dimension-input-field{color:var(--color-text-main);text-align:center;background:0 0;border:none;outline:none;flex:1;width:100%;padding:6px 8px;font-family:inherit;font-size:.85rem}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.dimension-input-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;transition:all .15s;display:flex}.dimension-input-btn:hover{color:var(--color-text-main);background:#ffffff08}.editor-2d-wrapper{border-right:1px solid var(--color-border);background:radial-gradient(circle,#14171d 0%,#0a0b0d 100%);flex:1;min-width:0;height:100%;position:relative}.canvas-container{background:var(--color-bg-base);flex:1;min-width:0;height:100%;position:relative}.canvas-container canvas{display:block;width:100%!important;height:100%!important}.color-swatch-grid{flex-wrap:wrap;gap:8px;display:flex}.color-swatch-item{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:all .2s;position:relative;box-shadow:inset 0 1px 3px #00000080}.color-swatch-item:hover{transform:scale(1.15)}.color-swatch-item.active{border-color:var(--color-text-main);box-shadow:0 0 8px var(--color-accent-glow);transform:scale(1.15)}.toggle-switch-container{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.toggle-switch-label{color:var(--color-text-muted);font-size:.8rem}.toggle-switch{width:38px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;border:1px solid var(--color-border);background-color:#ffffff14;border-radius:20px;transition:all .25s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:var(--color-text-muted);border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{border-color:var(--color-accent);background-color:#6366f133}.toggle-switch input:checked+.toggle-slider:before{background-color:var(--color-accent);transform:translate(18px)}.angle-list{flex-direction:column;gap:4px;max-height:200px;padding-right:2px;display:flex;overflow-y:auto}.angle-row{border:1px solid var(--color-border);background:#ffffff03;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:.75rem;display:flex}.angle-row-name{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-weight:500;overflow:hidden}.angle-row-inputs{align-items:center;gap:6px;display:flex}.angle-row-input-group{background:#0003;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;display:flex}.angle-row-input-group input{color:#fff;text-align:right;background:0 0;border:none;outline:none;width:40px;font-size:11px}.angle-row-input-group span{color:var(--color-text-muted);font-size:.65rem}button,.nav-button{color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}button:hover,.nav-button:hover{border-color:var(--color-accent);background:#6366f11a;transform:translateY(-1px);box-shadow:0 2px 10px #6366f126}button:active,.nav-button:active{transform:translateY(1px)}button.primary-btn{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#0000;font-weight:600;box-shadow:0 4px 12px #6366f140}button.primary-btn:hover{background:linear-gradient(135deg,#7c3aed 0%,#6366f1 100%);box-shadow:0 6px 15px #6366f166}.editor-2d-container{flex-direction:column;height:100%;display:flex}.editor-2d-container .header{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:var(--glass-blur);justify-content:space-between;align-items:center;display:flex;background:#101216cc!important;padding:14px 20px!important}.editor-2d-container .header h2{color:var(--color-text-main);letter-spacing:-.01em;font-weight:600;font-size:.95rem!important}.graphics-list{flex-direction:column;gap:6px;display:flex}.graphics-item{border:1px solid var(--color-border);background:#00000026;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.75rem;display:flex}.graphics-delete-btn{color:#f87171;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.graphics-delete-btn:hover{color:#f87171;transform:scale(1.1)}.camera-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.camera-btn{padding:6px;font-size:.72rem}.view-switcher-container{z-index:95;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);background:#101216d9;border-radius:8px;padding:4px;display:flex;position:absolute;top:14px;right:20px;box-shadow:0 4px 20px #0000004d}.view-switcher-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s;display:inline-flex}.view-switcher-btn:hover{color:var(--color-text-main);box-shadow:none;background:#ffffff05;transform:none}.view-switcher-btn.active{color:#a5b4fc;background:#6366f11f;box-shadow:inset 0 0 0 1px #6366f126}.landing-page{z-index:1000;background:radial-gradient(circle,#101216 0%,#060709 100%);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.landing-header{text-align:center;max-width:600px;margin-bottom:40px;animation:.6s cubic-bezier(.16,1,.3,1) fadeInDown}.landing-header h1{background:linear-gradient(135deg,#fff 40%,#818cf8 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin-bottom:12px;font-size:2.2rem;font-weight:700}.landing-header p{color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.landing-grid{grid-template-columns:repeat(4,260px);gap:24px;max-width:1200px;animation:.8s cubic-bezier(.16,1,.3,1) fadeInUp;display:grid}@media (width<=1100px){.landing-grid{grid-template-columns:repeat(2,260px)}}@media (width<=600px){.landing-grid{grid-template-columns:280px}}.landing-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;background:#16192173;flex-direction:column;gap:14px;padding:20px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.landing-card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 0 0,#6366f11a,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.landing-card:hover{border-color:var(--color-accent);transform:translateY(-8px);box-shadow:0 20px 40px -10px #0009,0 0 15px #6366f126}.landing-card:hover:before{opacity:1}.landing-card-preview{border-radius:var(--radius-md);border:1px solid var(--color-border);background:#00000040;justify-content:center;align-items:center;height:140px;display:flex;position:relative;overflow:hidden}.landing-card-preview svg{width:70px;height:70px;color:var(--color-text-muted);transition:all .3s}.landing-card:hover .landing-card-preview svg{color:#a5b4fc;transform:scale(1.1)}.landing-card-content{flex-direction:column;flex-grow:1;gap:6px;display:flex}.landing-card-category{text-transform:uppercase;color:var(--color-accent);letter-spacing:.08em;font-size:.65rem;font-weight:700}.landing-card-title{color:var(--color-text-main);letter-spacing:-.01em;font-size:1rem;font-weight:600}.landing-card-desc{color:var(--color-text-muted);margin-top:4px;font-size:.75rem;line-height:1.4}.landing-card-btn{border-radius:var(--radius-md);width:100%;margin-top:auto;padding:10px;font-size:.8rem;font-weight:600}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
