:root{--neural-bg:#030508;--neural-surface:rgba(15,23,42,0.6);--neural-glass:rgba(255,255,255,0.03);--neural-border:rgba(139,92,246,0.2);--neural-accent:#8b5cf6;--neural-accent-glow:rgba(139,92,246,0.4);--neural-cyan:#22d3ee;--neural-cyan-glow:rgba(34,211,238,0.3);--lego-red:#c4281b;--lego-blue:#0055bf;--lego-yellow:#f2cd37;--lego-green:#237841;--lego-white:#f4f4f4;--lego-black:#1b2a34;--lego-orange:#fe8a18;--lego-magenta:#fc97ac;--lego-lime:#a0c857;--lego-medium-blue:#5a93db;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-mono:"SF Mono","Fira Code",monospace;--font-sans:"Inter",-apple-system,sans-serif;--glow-purple:0 0 40px rgba(139,92,246,0.3);--glow-cyan:0 0 40px rgba(34,211,238,0.3);--glass-blur:blur(20px)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow:hidden;background:var(--neural-bg);color:#e2e8f0;font-family:var(--font-sans)}.glass{background:var(--neural-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--neural-border)}.glow-border{box-shadow:var(--glow-purple),inset 0 0 20px rgba(139,92,246,.05)}.app{display:flex;flex-direction:column;height:100vh;background:radial-gradient(ellipse at 20% 0,rgba(139,92,246,.08) 0,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(34,211,238,.06) 0,transparent 50%),var(--neural-bg)}.header{justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--neural-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--neural-border);z-index:100}.header,.logo{display:flex;align-items:center}.logo{gap:var(--space-sm)}.logoIcon{font-size:28px;filter:drop-shadow(0 0 10px rgba(139,92,246,.5))}.logoText{font-size:20px;font-weight:700;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.logoBadge{padding:2px 8px;background:linear-gradient(135deg,var(--neural-accent),var(--neural-cyan));border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.headerCenter{flex:1 1;display:flex;justify-content:center;padding:0 var(--space-xl)}.progressBar{width:200px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.progressFill{height:100%;background:linear-gradient(90deg,var(--neural-accent),var(--neural-cyan));border-radius:2px;transition:width .3s ease;box-shadow:0 0 10px var(--neural-accent-glow)}.nav{display:flex;gap:var(--space-sm)}.navBtn{padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--neural-border);border-radius:8px;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.navBtn:hover{background:var(--neural-glass);color:#fff;border-color:var(--neural-accent)}.navBtn.primary{background:linear-gradient(135deg,var(--neural-accent),#7c3aed);border:none;color:white;box-shadow:0 4px 15px rgba(139,92,246,.3)}.navBtn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(139,92,246,.4)}.canvasSection{flex:1 1;position:relative;overflow:hidden}.canvasLoader,.canvasSection>div:first-child{position:absolute;inset:0}.canvasLoader{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--neural-bg);color:#64748b;font-size:14px;gap:var(--space-md)}.canvasLoader:after{content:"";width:40px;height:40px;border:2px solid var(--neural-border);border-top-color:var(--neural-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toolbar{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);gap:var(--space-md);padding:var(--space-lg);background:var(--neural-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--neural-border);border-radius:16px;box-shadow:var(--glow-purple)}.toolbar,.toolbarSection{display:flex;flex-direction:column}.toolbarSection{gap:var(--space-sm)}.toolbarLabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#64748b;margin-bottom:var(--space-xs)}.colorGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.colorBtn{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;position:relative}.colorBtn:hover{transform:scale(1.1)}.colorBtn.active{border-color:white;box-shadow:0 0 12px currentColor}.colorBtn.active:after{content:"";position:absolute;inset:-4px;border:1px solid white;border-radius:8px;opacity:.5}.brickTypeGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px}.brickTypeBtn{padding:var(--space-sm);background:rgba(255,255,255,.05);border:1px solid var(--neural-border);border-radius:8px;color:#94a3b8;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.brickTypeBtn:hover{background:rgba(255,255,255,.1);color:#fff}.brickTypeBtn.active{background:var(--neural-accent);border-color:var(--neural-accent);color:white;box-shadow:0 0 15px var(--neural-accent-glow)}.actionBtn{padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--neural-accent),#7c3aed);border:none;border-radius:8px;color:white;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.actionBtn:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(139,92,246,.4)}.actionBtn.secondary{background:transparent;border:1px solid var(--neural-border)}.actionBtn.secondary:hover{background:rgba(255,255,255,.05);box-shadow:none}.promptBar{position:absolute;bottom:var(--space-xl);left:50%;transform:translateX(-50%);display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--neural-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--neural-border);border-radius:20px;box-shadow:var(--glow-purple);width:min(90%,700px)}.modeToggle{display:flex;background:rgba(0,0,0,.3);border-radius:10px;padding:3px}.modeBtn{padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:8px;color:#64748b;font-size:13px;cursor:pointer;transition:all .2s ease}.modeBtn.active{background:var(--neural-accent);color:white;box-shadow:0 2px 10px rgba(139,92,246,.3)}.promptInput{flex:1 1;background:transparent;border:none;color:#fff;font-size:14px;outline:none}.promptInput::placeholder{color:#475569}.generateBtn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,var(--neural-cyan),#06b6d4);border:none;border-radius:12px;color:#0a0a0f;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-sm)}.generateBtn:hover{transform:translateY(-1px);box-shadow:0 4px 15px var(--neural-cyan-glow)}.generateBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.suggestions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.suggestionBtn{padding:var(--space-xs) var(--space-md);background:rgba(255,255,255,.05);border:1px solid var(--neural-border);border-radius:20px;color:#64748b;font-size:12px;cursor:pointer;transition:all .2s ease}.suggestionBtn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:var(--neural-accent)}.generatingOverlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(3,5,8,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50}.spinner{width:60px;height:60px;border:3px solid var(--neural-border);border-top-color:var(--neural-accent);border-radius:50%;animation:spin 1s linear infinite}.generatingText{margin-top:var(--space-lg);font-size:16px;color:#94a3b8;font-weight:500}.progressText{margin-top:var(--space-sm);font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--neural-accent),var(--neural-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.errorToast{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);padding:var(--space-md) var(--space-lg);background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4);border-radius:12px;color:#fca5a5;font-size:14px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neural-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--neural-accent)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}