.fw-dialog{background:var(--bg-panel);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);min-width:320px;max-width:480px;animation:scaleIn .2s ease}.fw-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-dark)}.fw-dialog-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.fw-dialog-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:0}.fw-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.fw-dialog-close svg{width:14px;height:14px}.fw-dialog-body{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.fw-dialog-row{display:flex;align-items:center;gap:var(--space-md)}.fw-dialog-row label{font-size:var(--font-size-sm);color:var(--text-secondary);min-width:80px}.fw-dialog-row input,.fw-dialog-row select{flex:1}.fw-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-dark)}.filter-dialog{min-width:280px}.filter-dialog .fw-dialog-body{gap:var(--space-md)}.filter-param{display:flex;align-items:center;gap:var(--space-md)}.filter-param label{font-size:var(--font-size-sm);color:var(--text-secondary);min-width:70px;text-align:right}.filter-param input[type=range]{flex:1}.filter-param .filter-value{font-size:var(--font-size-sm);color:var(--text-primary);min-width:36px;text-align:right}.filter-param .fw-color-swatch{width:24px;height:24px}.filter-angle-dial{width:48px;height:48px;border:2px solid var(--border-medium);border-radius:50%;position:relative;cursor:pointer;background:var(--bg-input)}.filter-angle-dial:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:45%;background:var(--accent-primary);transform-origin:bottom center;border-radius:1px}.export-preview{width:200px;height:150px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.export-preview canvas{max-width:100%;max-height:100%}.export-format-tabs{display:flex;gap:1px;background:var(--border-dark);border-radius:var(--radius-sm);overflow:hidden}.export-format-tab{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-medium);border:none;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center}.export-format-tab:hover{background:var(--bg-hover)}.export-format-tab.active{background:var(--bg-selected);color:var(--text-bright)}
