:root{--color-base-primary: #4a90e2;--color-base-secondary: #357abd;--color-transient-primary: #ff6b6b;--color-transient-secondary: #ee5a49;--color-background: #f5f5f5;--color-surface: #ffffff;--color-surface-light: #fafafa;--color-text-primary: #1a1a1a;--color-text-secondary: #666666;--color-border: #e0e0e0;--panel-settings-width: 30%;--panel-visualization-width: 70%;--panel-min-width-settings: 300px;--panel-min-width-visualization: 500px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-base: 16px;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);line-height:1.6}#app{height:100vh;overflow:hidden}.layout-container{display:flex;height:100%;width:100%}.settings-panel{width:var(--panel-settings-width);min-width:var(--panel-min-width-settings);background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--spacing-lg);overflow-y:auto;overflow-x:hidden}.settings-title{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.settings-section{margin-bottom:var(--spacing-xl)}.settings-section h2{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.settings-grid.single-column{grid-template-columns:1fr}.setting-item{display:flex;flex-direction:column;gap:4px}.setting-label{font-size:12px;font-weight:500;color:var(--color-text-primary);margin:0}.color-swatch{width:28px;height:28px;border:1px solid var(--color-border);border-radius:3px;cursor:pointer;overflow:hidden;position:relative}.color-swatch input[type=color]{width:100%;height:100%;border:none;background:none;cursor:pointer;padding:0;position:absolute;top:0;left:0}.number-input{width:50px;padding:3px 4px;border:1px solid var(--color-border);border-radius:3px;font-size:12px;font-family:var(--font-family);background-color:var(--color-surface);color:var(--color-text-primary);text-align:center}.number-input:focus{outline:none;border-color:var(--color-base-primary);box-shadow:0 0 0 1px #4a90e233}.toggle-container{display:flex;align-items:center;gap:var(--spacing-xs)}.toggle-label{font-size:11px;font-weight:500;color:var(--color-text-primary);line-height:1.2}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-input:checked+.toggle-slider{background-color:var(--color-base-primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.checkbox-item{display:flex;align-items:center;gap:6px;margin-bottom:12px}.checkbox-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--color-base-primary)}.checkbox-item label{cursor:pointer;font-size:12px;color:var(--color-text-primary);margin:0;font-weight:500}.settings-section{margin-bottom:20px}.settings-grid{margin-bottom:12px}.color-preview{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid var(--color-border)}.color-swatch.base-color{background-color:var(--color-base-primary)}.color-swatch.transient-color{background-color:var(--color-transient-primary)}.data-source-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.spreadsheet-link{color:var(--color-base-primary);text-decoration:none;font-size:var(--font-size-sm);transition:color .2s ease}.spreadsheet-link:hover{color:var(--color-base-secondary);text-decoration:underline}.data-status{margin-bottom:var(--spacing-sm)}.data-status p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.data-status p:last-child{margin-bottom:0}.error-message{background-color:#ee5a491a;border:1px solid var(--color-transient-secondary);border-radius:6px;padding:var(--spacing-sm);color:var(--color-transient-primary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);position:relative;line-height:1.4;cursor:pointer}.error-message.hidden{display:none}.error-message:hover{background-color:#ee5a4926}.action-btn{width:100%;padding:var(--spacing-sm);background-color:var(--color-base-primary);color:#fff;border:none;border-radius:6px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background-color .2s ease}.action-btn:hover{background-color:var(--color-base-secondary)}.action-btn-secondary{width:100%;padding:var(--spacing-sm);background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn-secondary:hover{background-color:var(--color-surface-light);color:var(--color-text-primary);border-color:var(--color-text-secondary)}.visualization-panel{flex:1;min-width:var(--panel-min-width-visualization);background-color:var(--color-background);display:flex;align-items:center;justify-content:center;overflow:hidden}.aura-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}#aura-visualization{width:100%;height:100%;max-width:800px;max-height:800px}#aura-visualization svg{width:100%;height:100%}.settings-panel::-webkit-scrollbar{width:8px}.settings-panel::-webkit-scrollbar-track{background:var(--color-surface-light)}.settings-panel::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.settings-panel::-webkit-scrollbar-thumb:hover{background:#bdbdbd}@media (max-width: 1024px){.data-source-controls{flex-direction:column}}
