*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333;overflow:hidden}#beta-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;padding:4px 10px;font-size:12px;background:#263238;color:#eceff1;box-shadow:0 2px 4px #0000004d}#beta-label{font-weight:600;text-transform:uppercase;font-size:11px;padding:2px 6px;margin-right:6px;border-radius:3px;background:#ff9800;color:#000}#beta-version{font-weight:500;margin-right:10px}#beta-text{opacity:.85}#beta-spacer{flex:1 1 auto}#beta-discord-button{font-size:12px;padding:3px 8px;border-radius:3px;border:1px solid #7289da;background:#5865f2;color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:4px}#beta-discord-button:hover{background:#7289da}#beta-donate-button{font-size:12px;padding:3px 8px;border-radius:3px;border:1px solid #ffcc80;background:#ffb74d;color:#000;cursor:pointer;display:inline-flex;align-items:center;gap:4px}#beta-donate-button:hover{background:#ffcc80}#app{display:flex;flex-direction:column;height:calc(100vh - 28px);margin-top:28px}header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:0;box-shadow:0 2px 10px #0000001a;display:flex;align-items:stretch}.header-logo{height:90px;width:auto;max-height:100%;padding:8px;flex-shrink:0;object-fit:contain}.header-text{flex:1;padding:10px 5px;display:flex;flex-direction:column;justify-content:center}header h1{font-size:20px;margin-bottom:5px}header p{font-size:13px;opacity:.9;margin:0}#main-container{display:flex;flex:1;overflow:hidden}#sidebar{width:320px;background:#fff;border-right:1px solid #ddd;overflow-y:auto;overflow-x:hidden}#controls-container{padding:10px}.collapsible-section{margin-bottom:10px;border:1px solid #ddd;border-radius:5px;overflow:hidden}.section-header{background:#e8e8e8;padding:12px 15px;cursor:pointer;user-select:none;display:flex;align-items:center;font-weight:700;transition:background .2s}.section-header:hover{background:#d8d8d8}.section-header .arrow{margin-right:10px;font-size:12px;transition:transform .2s;display:inline-block}.collapsible-section.collapsed .arrow{transform:rotate(-90deg)}.collapsible-section:not(.collapsed) .arrow{transform:rotate(0)}.section-content{padding:15px;background:#fff;display:block}.collapsible-section.collapsed .section-content{display:none}.btn{padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;width:100%;margin-bottom:8px;transition:all .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#45a049}.btn-secondary{background:#2196f3;color:#fff}.btn-secondary:hover{background:#0b7dda}.btn-success{background:#8bc34a;color:#fff}.btn-success:hover{background:#7cb342}.btn-large{padding:15px 20px;font-size:16px;font-weight:700}.btn-small{padding:6px 10px;font-size:12px;width:auto;margin:2px}.button-row{display:flex;gap:5px;margin-bottom:8px}.button-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px}.preset-btn{width:100%}.status-box{padding:10px;border-radius:5px;margin-bottom:10px;font-weight:500;text-align:center}.status-box.ready{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.status-box.active{background:#ffebee;color:#c62828;border:1px solid #f44336}.info-text{font-size:13px;color:#666;margin-bottom:10px;padding:8px;background:#f9f9f9;border-radius:3px}.help-text{font-size:12px;color:#888;padding:10px;background:#fffde7;border-left:3px solid #fdd835;border-radius:3px;margin-top:10px}.param-group{margin-bottom:12px}.param-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500}.param-group input[type=number],.param-group input[type=range]{width:100%;padding:6px;border:1px solid #ddd;border-radius:3px;font-size:13px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.input-row label{display:flex;flex-direction:column;font-size:12px}.input-row input{width:100%;margin-top:5px}h4{font-size:13px;margin:15px 0 8px;color:#555}.subsection{background:#fafafa;padding:10px;border-radius:5px;margin-top:10px}.checkbox-label{display:flex;align-items:center;margin-bottom:12px;font-size:13px}.checkbox-label input{margin-right:8px}select{width:100%;padding:8px;border:1px solid #ddd;border-radius:3px;margin-bottom:8px;font-size:13px}#viewer-container{flex:1;position:relative;background:#2a2a2a}#viewer{width:100%;height:100%;display:block}#viewer-info{position:absolute;top:10px;left:10px;background:#000000b3;color:#fff;padding:10px;border-radius:5px;font-size:12px}#viewer-info div{margin-bottom:5px}#viewer-info div:last-child{margin-bottom:0}#info-log{max-height:200px;overflow-y:auto;background:#1e1e1e;color:#0f0;padding:10px;border-radius:5px;font-family:Courier New,monospace;font-size:12px;line-height:1.5}#info-log div{margin-bottom:3px}#loading-overlay{position:fixed;inset:0;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.spinner{border:5px solid rgba(255,255,255,.3);border-top:5px solid white;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loading-text{color:#fff;margin-top:20px;font-size:16px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.file-hint{font-size:11px;color:#666;margin-top:4px;margin-bottom:8px}.pro-teaser{color:#ff9800}#wireframe-color{margin-left:8px;width:40px;height:24px;border:1px solid #555;border-radius:3px;cursor:pointer;vertical-align:middle}#wireframe-color::-webkit-color-swatch-wrapper{padding:2px}#wireframe-color::-webkit-color-swatch{border:none;border-radius:2px}@media (max-width: 768px){#sidebar{width:100%;max-height:40vh}#main-container{flex-direction:column}}
