*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background:#0a0a0a;color:#e0e0e0;overflow:hidden}.app{display:flex;height:100vh}.scene-container{flex:1}.control-panel{width:300px;background:#141414;border-right:1px solid #2a2a2a;padding:16px;overflow-y:auto;flex-shrink:0}.control-panel h2{font-size:1.3rem;margin-bottom:12px;color:#fff}.control-panel h3{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 8px}.stats-bar{display:flex;gap:12px;font-size:.8rem;color:#aaa;margin-bottom:12px}.section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #222}.section select{width:100%;padding:6px 8px;background:#1e1e1e;color:#e0e0e0;border:1px solid #333;border-radius:4px;font-size:.85rem}.section>label{font-size:.8rem;color:#888;margin-bottom:4px;display:block}.btn-row{display:flex;gap:8px}.btn{padding:8px 16px;border:1px solid #333;border-radius:6px;background:#1e1e1e;color:#e0e0e0;cursor:pointer;font-size:.85rem;transition:all .15s;flex:1;text-align:center}.btn:hover{background:#2a2a2a}.btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.slider-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.slider-row label{font-size:.78rem;color:#aaa;min-width:100px}.slider-row input[type=range]{flex:1;accent-color:#2563eb}.slider-value{font-size:.75rem;color:#666;min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.check-label{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;margin:4px 0}.selected-info{background:#1a1a2e;border-radius:6px;padding:10px;font-size:.8rem}.selected-info h3{color:#60a5fa;margin-bottom:6px}.selected-info div{margin:2px 0;color:#aaa}@media(max-width:768px){.app{flex-direction:column}.control-panel{width:100%;height:auto;max-height:40vh;border-right:none;border-bottom:1px solid #2a2a2a}}.demo-list{display:flex;flex-direction:column;gap:6px}.demo-btn{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:6px;cursor:pointer;text-align:left;transition:all .15s}.demo-btn:hover{background:#252542;border-color:#3b82f6}.demo-btn strong{font-size:.85rem;color:#e0e0e0}.demo-btn span{font-size:.7rem;color:#888}.demo-label{font-size:.85rem;color:#60a5fa;font-weight:600;margin-bottom:6px}.demo-progress{height:4px;background:#2a2a2a;border-radius:2px;overflow:hidden}.demo-bar{height:100%;background:#3b82f6;border-radius:2px;transition:width .1s linear}.ai-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:#2563eb;color:#fff;border:none;font-size:1.4rem;cursor:pointer;box-shadow:0 4px 12px #0006;z-index:1000;display:flex;align-items:center;justify-content:center;transition:transform .2s}.ai-fab:hover{transform:scale(1.1)}.ai-panel{position:fixed;bottom:84px;right:24px;width:340px;max-height:460px;background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px #0006;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#2563eb;color:#fff;font-weight:600;font-size:.85rem}.ai-header button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer}.ai-messages{flex:1;overflow-y:auto;padding:10px;min-height:180px;max-height:300px;display:flex;flex-direction:column;gap:6px}.ai-welcome{text-align:center;color:#888;font-size:.8rem;padding:12px 0}.ai-hints{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:10px}.ai-hint{padding:3px 10px;border:1px solid #333;border-radius:14px;background:transparent;color:#aaa;font-size:.7rem;cursor:pointer}.ai-hint:hover{border-color:#2563eb;color:#60a5fa}.ai-msg{display:flex}.ai-msg-user{justify-content:flex-end}.ai-msg-assistant{justify-content:flex-start}.ai-msg-content{max-width:80%;padding:6px 10px;border-radius:10px;font-size:.8rem;line-height:1.5;white-space:pre-wrap}.ai-msg-user .ai-msg-content{background:#2563eb;color:#fff;border-bottom-right-radius:3px}.ai-msg-assistant .ai-msg-content{background:#2a2a2a;color:#e0e0e0;border-bottom-left-radius:3px}.ai-typing{opacity:.6;font-style:italic}.ai-input{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #333}.ai-input input{flex:1;padding:6px 10px;border:1px solid #333;border-radius:16px;font-size:.8rem;background:#1e1e1e;color:#e0e0e0}.ai-input button{padding:6px 14px;background:#2563eb;color:#fff;border:none;border-radius:16px;font-size:.8rem;cursor:pointer}.ai-input button:disabled{opacity:.4}@media(max-width:480px){.ai-panel{right:8px;left:8px;width:auto;bottom:74px}.ai-fab{bottom:14px;right:14px}}.demo-panel{position:fixed;top:12px;right:12px;z-index:50}.demo-toggle{padding:8px 16px;background:#1e1e28d9;border:1px solid #475569;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:.9rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.demo-toggle:hover{border-color:#22d3ee;color:#22d3ee}.demo-floating{background:#14141eeb;border:1px solid #334155;border-radius:10px;padding:12px;width:280px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.demo-floating.active{width:240px}.demo-floating .demo-btn{display:block;width:100%;text-align:left;padding:8px 10px;margin-bottom:4px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#e2e8f0;cursor:pointer;font-size:.8rem}.demo-floating .demo-btn:hover{border-color:#22d3ee;background:#1e3a5f}.demo-floating .demo-btn strong{display:block;color:#22d3ee;margin-bottom:2px}.demo-floating .demo-btn span{color:#888;font-size:.75rem}.params-panel{position:fixed;bottom:12px;right:80px;z-index:50}.params-toggle{padding:8px 16px;background:#1e1e28d9;border:1px solid #475569;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.params-toggle:hover{border-color:#a78bfa;color:#a78bfa}.params-floating{background:#14141eeb;border:1px solid #334155;border-radius:10px;padding:12px;width:300px;max-height:400px;overflow-y:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:6px}.params-section{margin-bottom:8px}.params-section h4{margin:0 0 6px;color:#a78bfa;font-size:.8rem}
